Security Review #326

October 09, 2026

The best programs are the ones written when the programmer is supposed to be working on something else.

— Melinda Varian

Starred Articles

Yet another way to invoke functions without parentheses

I found yet another way to invoke arbitrary functions in javascript without using parentheses by overwriting the prepareStackTrace function of the Error object to generate arbitrary functions.

How to Hack Time, With C2PA

The technique exploits the C2PA spec's arbitrary "exclusions" feature by defining an exclusion that covers the entire file, allowing a malicious signer to modify the image after a trusted timestamp without invalidating the claim or TSA signatures; this undermines the integrity guarantees of C2PA-protected media, enabling undetectable post-timestamp tampering such as falsifying lottery numbers.

Azure's Weakest Link - Five Full Cross-Tenant Compromises

Azure Logic Apps API expose DynamicInvoke/DynamicList ARM endpoints that are vulnerable to path-traversal, allowing an attacker to read arbitrary Azure Key Vault secrets or execute arbitrary SQL queries on the victim's Azure SQL database. The same primitive also applies to Consumption Logic Apps, enabling cross-tenant connection hijacking and further elevation-of-privilege actions.

New Articles

Branch Target Reuse: Spectre-v2 Attacks in JIT Engines

We introduce Branch Target Reuse (BTR), a new Spectre-v2 attack targeting just-in-time (JIT) compilers. BTR affects the JIT engines found in web browsers, language runtimes, and the operating system kernel, across multiple CPU vendors. When exploited it allows attackers to hijack speculative control flow to newly generated code at obsolete offsets, bypassing software hardening or reaching misaligned gadgets.

Post-Quantum Crypto Won't Fix Your Architecture

Internxt Drive gives you full control and privacy of your cloud storage through zero-knowledge and post-quantum encryption. Adding PQC to this product was like installing a vault door on a tent. The server could intercept your keys and an RCE let attackers run code on your desktop.

CVE-2026-23870: A Single POST Freezes Any Next.js Server

To rebuild one submitted form, React scanned every field in the request once for each reference it contained. Nothing capped either number, so one 900 KB POST makes the server do 100 million checks and freeze.

8 out of 10 Banks HATE This One Weird 3SKey RCE

SConnect (1M+ users), the extension and native host used to authenticate with 3SKey, SWIFT, eIDs and other hardware signing tokens, had a drive-by RCE: any site or iframe could silently download and run a DLL by exploiting an uninitialised-memory bypass in its hand-rolled RSA-2048 token validation. CVE-2026-18397.

CVE-2026-102489: Zammad Session Leak to RCE

We explain how we reverse engineered CVE-2026-102489 in Zammad, reproduced the session leak, hijacked an admin session, and achieved remote code execution.

CVE-2026-47483: NVIDIA DCGM Exporter Vulnerability Exposes GPU Servers

We discovered a high-severity vulnerability in NVIDIA DCGM Exporter that allowed an unauthenticated attacker to trigger uncontrolled resource consumption on the GPU server, leading to denial of service and information disclosure. By exhausting the exporter's resources, an attacker could crash the monitoring service, blind operators to GPU health and activity, and potentially slow workloads running on the same host.

From AI Agents to RCE

The edge isn't the AI model, but how you assemble the system around it. We built a custom agentic harness that structures vulnerability research into distinct stages, from codebase exploration and analysis to validation and exploitation.

Token Theft in Microsoft Entra ID - Part 3: Token Protection

Token Protection binds Primary Refresh Tokens (PRTs) to a device in Microsoft Entra ID, yet the default Conditional Access policy can be bypassed by altering the User-Agent header or using the web client, allowing attackers to obtain usable non-device-bound refresh tokens and replay them.

Logging is a Discipline, Not a Switch

We outline a disciplined logging method for Active Directory involving log size configuration, Advanced Audit Policy subcategories, detection goals definition, and closing gaps to ensure logs retain sufficient data and improve intrusion detection. The approach targets domain controllers and related security tooling, reducing missed events and enhancing alert fidelity.

WordPress libheif RCE: Exploit Chain

How a WordPress libheif RCE uses returned pixels to bypass ASLR, trigger a heap overflow and execute commands on exact Ubuntu and Debian stacks.

GitHub Copilot CLI vulnerability leaks developer secrets

GitHub Copilot CLI can be made to read a developer’s local files and send them to an attacker from a single web page. Cryptographic Context Injection hides the instructions as ciphertext that the agent decrypts in its own shell and then trusts as its own.

Let's Create A Function Stomping BOF for Adaptix C2!

We walk through an Adaptix C2 BOF implementation of function stomping, writing up to 100 KB of PIC shellcode into the target function and restoring PAGE_EXECUTE_READWRITE protection.

Atlassian Jira, Confluence (and more) Pre-Auth Arbitrary File Read - CVE-2026-21589

We delve into CVE-2026-21589, a pre-authentication arbitrary file read vulnerability affecting most of Atlassian products. When exploited, it enables an unauthenticated attacker to read arbitrary files in the application's webroot, leaking credentials that can be used to compromise Atlassian Crowd and obtain administrative control of the affected product.

SequenceHash: multihashing for the rest of us

Multihashing is one of those cryptographic tasks that’s easy not to think about too much. This is unfortunate, because multihashing is a common stumbling point when cryptographers try to use hashes. In this article, we deep dive into SequenceHash and its sister function SequenceMAC, a pair of related hash constructions that bring secure multihashing to developers.

Still Recent

Frappe 16.18.3 / ERPNext 16.19.1 SSTI to OS RCE

Frappe 16.18.3 / ERPNext 16.19.1 contains a server-side template injection (SSTI) in the Jinja2 sandbox that allows a low-privilege user with Letter Head write access to execute arbitrary SQL and read sensitive data, including user credentials and CSRF tokens. Chaining the unsafe globals enables writing a malicious Python module and invoking it, achieving remote code execution as the frappe user.

Loupe: An Android Console in the Browser

An introduction to Loupe: a tool I built for driving an Android phone from a browser tab, with screen mirror, logcat, file browser, proxy, and Frida in the same window.

Oldies but Goodies

A peek into Reddit's anti-spam internals Y lyra's epic blog

Reddit's anti-spam infrastructure was briefly exposed by a bug. This leak reveals Reddit's internal spam-detection criteria and admin removal messages, potentially enabling adversaries to bypass or manipulate the platform's spam filters.