Security Review #289

January 01, 2026

All sorts of things can happen when you're open to new ideas and playing around with things.

— Stephanie Kwolek

Starred Articles

Vectored Exception Handling Squared

An in-depth technical walkthrough of Vectored Exception Handling Squared (VEH2) implemented in Rust. We will see how hardware breakpoints and VEH can be combined to intercept execution without patching code.

Registry Writes Without Registry Callbacks

This post explores a technique for establishing registry persistence and registry writes against HKCU at medium integrity that bypasses CmRegisterCallback monitoring entirely, thus not triggering registry callbacks. It relies on placing a crafted NTUSER.MAN that loads persistence keys into HKCU on next logon. The hive is loaded directly from disk without invoking registry APIs.

Forensic Insights into an EDR Freeze Attack

We analyze EDR-Freeze.exe, which puts EDR processes into a suspended "coma" state. We review how the attack works, its impact on EDR and identify detection opportunities. Eventually, we will write a Sigma rule for detection.

New Articles

Petlibro: Your Pet Feeder Is Feeding Data To Anyone Who Asks

I detail how I found critical vulnerabilities in Petlibro smart pet feeders allowing complete account takeover via broken OAuth, access to anyone's pet data, device hijacking, and private audio recordings.

Hunting CVE-2025-59287 in Memory Dumps

In this post, we analyze the memory dump of the IIS worker process of a WSUS server abused with CVE-2025–59287. From the dump, we will see that you can recover the in-memory HTTP requests and, in many cases, extract the payload itself.

Dissecting a Multi-Stage macOS Infostealer

Deep dive into MacSync Stealer (UserSyncWorker variant), a MaaS infostealer featuring Gatekeeper bypass via notarized Swift dropper, code signature validation, and multi-layer payload obfuscation

Is that Windows Notepad window really empty?

We will see what artifacts can be recovered from Windows Notepad now that it supports multiple tabs, saving session state, and multi-level undo, what evidence can be lost if you close Windows Notepad, and what evidence can be lost if you open Windows Notepad.

Cross-Site ETag Length Leak

I discuss a novel XS-Leak technique that turns ETag length differences into a cross-site oracle via 431 errors and History API and I created a CTF challenge as a proof of concept.

Crimson RAT Delivered via Malicious Excel

This blog walks through my analysis of a malicious Excel file that reconstructs its payload dynamically through hidden form objects, ultimately deploying Crimson RAT.

Hunting MongoBleed (CVE-2025-14847)

CVE-2025-14847 is a memory disclosure vulnerability in MongoDB’s zlib decompression that allows attackers to extract sensitive data - credentials, session tokens, PII - directly from server memory. In this blog, we explain how to detect exploitation of this vulnerability with Velociraptor.

Velciraptor - Part 2: 102

In this post, we'll explore Velociraptor’s major features, common Windows artifacts it supports, and practical VQL examples to extract actionable intelligence.

Ruby Array Pack Bleed

I discovered a vulnerability in Ruby which allows reading memory out of bounds of the allocated string buffer. The vulnerability exists within the instance method pack of the Array class, which defines how to convert elements into string and can be abused to generate negative repeat count to leak some of the memory.

Blind trust: what is hidden behind the process of creating your PDF file?

We conducted a targeted analysis of popular HTML-to-PDF libraries and identified 13 vulnerabilities, demonstrated 7 intentional behaviors, and highlighted 6 potential misconfigurations. These included vulnerability classes such as Files or Directories Accessible to External Parties, Deserialization of Untrusted Data, Server-Side Request Forgery, and Denial of Service.

Supply Chain Attack

In this article, we explain how software supply chain attacks subvert trust in open source, CI/CD and registries, and how SBOM, provenance and signed builds mitigate risk.

Evasive Panda APT campaign overview

We analyze the Evasive Panda APT's infection chain, including shellcode encrypted with DPAPI and RC5, as well as the MgBot implant.

CrowdStrike Investigates the Threat of Patchless AMSI Bypass Attacks

We analyzed the inner workingsof techniques used to bypass Windows' AMSI security feature, providing insights on detection, and crafted a variation of the techniques (a patchless AMSI attack called VEH2) that would allow an adversary to bypass AMSI without detection by silently setting a hardware breakpoint.

Still Recent

Extracting Syscalls from a Suspended Process

We explore a technique that will enable us to extract syscalls from a suspended process. We will first look at the attack path, then detail how to develop the attack, and – bonus - see how we can take it one step further.

Grafana CVE-2025-6023 Bypass: A Technical Deep Dive

We detail a bypass for CVE-2025-6023 security fix in Grafana. The exploit leverages two distinct bypasses that, when chained together, allow an attacker to achieve a full account takeover by loading a script from an external URL: a Server-Side Open Redirect and a Client-Side Path Traversal.

Velociraptor - Part 1: 101

Velociraptor is a free an open-source digital forensic software that allows examiners to quickly find and gather data from remote Windows, Mac and Linux devices. This post will explain the basics of Velociraptor and explain a basic lab setup for this software.

Exploiting Logic Flaws: Advanced Exploitation Guide

In this article, we explore how to identify and exploit business logic flaws to bypass restrictions, escalate privileges, and introduce exploitable behavior.

Oldies but Goodies

Diffing 7-Zip for CVE-2025-11001

This post describes CVE-2025-11001, a vulnerability in 7-Zip's module responsible for converting Linux symlinks to Windows ones (as well as other types of symlinks but this blog will focus on the Linux -> Windows side).

Unearthed Arcana

Account hijacking using "dirty dancing" in sign-in OAuth-flows

Combining response-type switching, invalid state and redirect-uri quirks using OAuth, with third-party javascript-inclusions has multiple vulnerable scenarios where authorization codes or tokens could leak to an attacker. This could be used in attacks for single-click account takeovers.