Attack Research

How real attackers operate, and what to do about it.

Built from data we observe across our customers and the public threat landscape. Each piece walks the attacker's decision tree end-to-end: what they're doing right now, why it works, and the concrete steps a defender takes this week to break it. Verifiable security.

Find. Prove. Fix. Verify.

What landed in CVE-land this week
Research 6 min read

What landed in CVE-land this week

The week ending 5 September 2026 gave defenders a concrete answer to a question circulating since MCP shipped: what happens when an authentication layer trusts a token but never validates it?

Security engineer Read →
Cisco Nexus 9000 Series Switches Silico…
Research 6 min read

Cisco Nexus 9000 Series Switches Silicon One Remote Code Execution

On 2026-09-02 Cisco published an advisory for CVE-2026-20212, a critical, unauthenticated remote code execution flaw in the Silicon One integration used by Nexus 9000 Series Switches. The advisory has not been tied to in-the-wild exploitation at the time of writing.

Security engineer Read →
Blast radius
Research 6 min read

Blast radius: what one CVE actually reaches

Every CVE arrives as a headline and a CVSS score. Neither tells you what actually breaks in your environment. Blast-radius analysis answers what a headline cannot: given this specific bug on this specific host, what does an attacker reach on the second hop, the third, and the fifth?

Security engineer Read →
How this bug class keeps getting shipped
Research 6 min read

How this bug class keeps getting shipped

The lead item in CISA's Known Exploited Vulnerabilities catalog on 31 August 2026 was a chain against PaperCut NG/MF: CVE-2026-81578 (missing authentication on a configuration endpoint) plus CVE-2026-82078 (unsafe reflection that loads arbitrary Java bytecode already on the classpath).

Security engineer Read →
2 new KEV entries in PaperCut NG/MF
Research 6 min read

2 new KEV entries in PaperCut NG/MF

On 2026-08-31, CISA added two vulnerabilities to the Known Exploited Vulnerabilities (KEV) catalog, both affecting PaperCut NG/MF print-management servers. They headline this week's additions, but a busy fortnight preceded them: JFrog Artifactory, the Linux kernel, ownCloud, Citrix NetScaler, and Gitea were all...

Security engineer Read →
Anatomy of a working exploit
Research 6 min read

Anatomy of a working exploit

Proofs of concept age poorly when they read like magic tricks. The interesting question is never "does the exploit run?" but "which primitive did the researcher chain, and where does that primitive live in your environment?" This post takes the freshest KEV entries as raw material, dissects one PoC end to end, then...

Security engineer Read →
Gitea under active exploitation
Research 6 min read

Gitea under active exploitation: CVE-2026-60004

On 25 August 2026, CISA added CVE-2026-60004 to the Known Exploited Vulnerabilities catalog. The flaw affects Gitea, the self-hosted Git service many engineering organisations run as a lighter alternative to hosted forges.

Security engineer Read →
What landed in CVE-land this week
Research 6 min read

What landed in CVE-land this week

The week of 2026-08-24 brings defenders a familiar mix: memory-safety bugs in ubiquitous parsing libraries, a privilege-escalation primitive in a Linux authentication module, and logic flaws in developer tooling. None of it is exotic. All of it is exploitable against workloads you probably ship every day.

Security engineer Read →
Patterns from this week's pentests
Research 6 min read

Patterns from this week's pentests

Every Friday, our offensive team collects the week's engagement notes into a shared channel and looks for the shape: not individual findings, but repeating structure across unrelated targets.

Security engineer Read →
What landed in CVE-land this week
Research 6 min read

What landed in CVE-land this week

The week of 2026-08-22 delivered a dense slate of advisories from the Canadian Centre for Cyber Security's alert feed. Nothing on the scale of Log4Shell, but the mix is instructive: two HashiCorp advisories, WordPress core plus plugin surface, Roundcube, Cisco, Qualcomm baseband, Grafana, and Commvault.

Security engineer Read →
Anatomy of a working exploit
Research 6 min read

Anatomy of a working exploit

Proof-of-concept code is the honest currency of vulnerability research. A CVSS score is a claim; a working PoC is a receipt. We take a small, self-contained buffer overflow, CVE-2013-4730 in PCMan's FTP Server 2.0.7, and walk through the mechanics of turning "the service crashes" into "the service executes...

Security engineer Read →
Threat-intel deep dive
Research 6 min read

Threat-intel deep dive: turning a week of CVEs into defender action

Threat intelligence only matters when it changes what a defender does on Monday morning. Feeds, RSS scrapes, and vendor advisories are inputs; the output must be a prioritized change to a control, a detection, or an asset inventory.

Security engineer Read →
Risk-Projector Case Study
Research 6 min read

Risk-Projector Case Study

Vulnerability lists lie by omission. A scanner tells you a host runs an unpatched service; a ticket queue tells you 4,812 findings are open this quarter; a compliance dashboard tells you mean-time-to-remediate for "critical" is 27 days.

Security engineer Read →
Patterns from this week's pentests
Research 6 min read

Patterns from this week's pentests

Every engagement produces a punch list; the more valuable output is the pattern connecting those lists across dozens of environments. This week's rotation surfaced a familiar shape: legacy input handling stitched into modern deployment pipelines, authenticated-but-privileged features never treated as...

Security engineer Read →
What landed in CVE-land this week
Research 6 min read

What landed in CVE-land this week

This week's batch covers a Windows RPC local-privilege bug destined for every red-teamer's post-exploitation kit, a header-parsing quirk in an OpenShift auth proxy that weaponizes a decades-old CGI footgun for identity spoofing, a KubeVirt path-resolution race that revives the classic /proc/self/fd link-following...

Security engineer Read →
Patterns from this week's pentests
Research 6 min read

Patterns from this week's pentests

Our offensive team runs weekly external, internal, and assumed-breach engagements against production estates. The most valuable artifact isn't the individual report — it's the shape of findings across a week's engagements. The same failure modes recur across different customers, stacks, and industries.

Security engineer Read →
What landed in CVE-land this week
Research 6 min read

What landed in CVE-land this week

The week of 15 August 2026 produced no headline kernel primitives, no supply-chain earthquakes, and no browser sandbox escapes with catchy names. What telemetry and public exploitation reports did show was a cluster of old CVEs surfacing in fresh incidents — long-tail exploitation that proves a CVE with a 2010 prefix...

Security engineer Read →
Anatomy of a working exploit
Research 6 min read

Anatomy of a working exploit

Every exploit tells a story about a defender's assumptions. Dissecting a proof-of-concept line by line is not a celebration of offense — it recovers the design decisions that made the offense possible, so those decisions can be invalidated wherever else they hide.

Security engineer Read →
Disabled but not denied
Identity 6 min read

Disabled but not denied: a Keycloak JWT grant that ignores the off switch

The single most important button in any identity system is the one that turns an account off. Offboarding a departing employee, cutting off a compromised account, revoking a contractor: all of it comes down to setting a user to disabled and trusting that every path into the system honors that state.

Security engineer Read →
The deny-list that forgot two clouds
Cloud 6 min read

The deny-list that forgot two clouds: SSRF to instance metadata in Flowise

Server-side request forgery is the vulnerability that turns your application server into an attacker's proxy, and in cloud environments its favorite destination is the instance metadata service. Reach that endpoint and you are usually one request away from the temporary role credentials the workload runs with.

Security engineer Read →
nopriv is not a typo
AppSec 6 min read

nopriv is not a typo: unauthenticated post tampering in Easy Post Submission

Broken access control stays at the top of every application-security ranking for a boring reason: it is easy to introduce and invisible in a demo. The feature works, the happy path looks fine, and the missing check only matters when someone who was never supposed to reach the code path reaches it anyway.

Security engineer Read →
Threat-intel deep dive
Research 6 min read

Threat-intel deep dive

Threat intelligence is only as useful as the actions it drives. Feeds that pile up CVEs without exposure context become noise; exploit-in-the-wild flags without asset mapping produce ticket floods, not risk reduction.

Security engineer Read →
JetBrains TeamCity under active exploit…
Research 6 min read

JetBrains TeamCity under active exploitation: CVE-2026-63077

On 2026-08-05, CISA added CVE-2026-63077 to the Known Exploited Vulnerabilities (KEV) catalog. The entry describes a deserialization-of-untrusted-data vulnerability in JetBrains TeamCity that permits unauthenticated remote code execution over the agent polling protocol.

Security engineer Read →
3 new KEV entries
Research 6 min read

3 new KEV entries: IBM Langflow and what else CISA flagged

On 2026-08-04 CISA added three entries to the Known Exploited Vulnerabilities (KEV) catalog: an unauthenticated remote code execution in IBM Langflow, an encryption bypass in Apache Tomcat that chains into a prior RCE, and the second half of an N-able N-central authentication bypass pair.

Security engineer Read →
A perfect storm to root
AppSec 10 min read

A perfect storm to root: unauthenticated deserialization RCE in Cisco ISE (CVE-2025-20281 / CVE-2025-20337)

Two companion flaws on the same Cisco ISE API endpoint, CVE-2025-20281 and CVE-2025-20337, turn a single unauthenticated request into root on the identity system your whole network trusts. It is a textbook chain: an exposed pre-auth method, a Java deserialization primitive, and an OS command injection that reaches Runtime.exec as root using the ${IFS} trick. Both are CVSS 10.0, both are in CISA KEV, and Cisco confirmed active exploitation. Here is the full offensive walkthrough, the incomplete-fix bypass that needed a second patch, and what closes it.

Security engineers Read →
What landed in CVE-land this week
Research 6 min read

What landed in CVE-land this week

"New CVE" and "new problem" are not synonymous. Several identifiers below carry old years — 2013, 2021, 2022 — but are landing in production environments right now through backported kernels, long-tail SaaS installs, and vendor re-triage.

Security engineer Read →
Breaking Git with a carriage return
Supply Chain 10 min read

Breaking Git with a carriage return: arbitrary file write to RCE on recursive clone (CVE-2025-48384)

A malicious repository and a single carriage return byte turn the everyday git clone --recursive into remote code execution. CVE-2025-48384 exploits an asymmetry in how Git reads and writes config values to drop a submodule outside its intended path, then a symlink into the hooks directory makes Git run attacker code during the same clone. Here is the mechanism, the weaponization, and what closes it.

Application security lead Read →
The NULL byte that writes Lua
Validation 10 min read

The NULL byte that writes Lua: unauthenticated RCE in Wing FTP Server (CVE-2025-47812)

A single NULL byte in the username field turns Wing FTP Server into a Lua interpreter that runs your commands as root. CVE-2025-47812 is a CVSS 10.0, unauthenticated, wormable RCE affecting every build before 7.4.4, added to CISA KEV within two weeks of disclosure and exploited in the wild within a day of the public proof of concept. Here is the full mechanism: NULL-byte string truncation, per-session Lua injection, and the request that detonates it.

Security engineers Read →
Running commands before login
Vulnerability analysis 10 min read

Running commands before login: the Erlang/OTP SSH pre-auth RCE (CVE-2025-32433)

CVE-2025-32433 is a CVSS 10.0 pre-authentication remote code execution flaw in the Erlang/OTP SSH server. The connection state machine accepts channel-open and channel-request messages before authentication completes, so a peer that finished only the key exchange can run a command, often as root. Here is the mechanism, why it reaches privileged execution, and how to recognize and close the exposure.

Security Engineers Read →
When the tag lied
Supply Chain 10 min read

When the tag lied: the tj-actions/changed-files supply-chain compromise

CVE-2025-30066 did not exploit a bug in the tj-actions/changed-files GitHub Action. It replaced the code the tag pointed at. One stolen token, a range of retagged versions, and a memory-scraping payload turned a popular convenience Action into a mass secret-exfiltration campaign that printed CI credentials into world-readable build logs. Here is the mechanism, the upstream chain, and the one habit that would have stopped it.

Security Engineers Read →
Validation that runs your code
AI Security 10 min read

Validation that runs your code: CVE-2025-3248 and unauthenticated RCE in Langflow

Langflow's /api/v1/validate/code endpoint compiled and executed user component code to syntax-check it, and it answered without authentication. CVE-2025-3248 turned that convenience into unauthenticated RCE, because the allowlist restricting the snippet to imports and function definitions missed that Python evaluates decorators and default arguments at definition time. Here is the mechanism, why it reached CISA KEV, its link to the Flodrix botnet, and how to recognize the exposure.

Security Engineers Read →
What landed in CVE-land this week
Research 6 min read

What landed in CVE-land this week

This week's disclosure feed reads like a time capsule. Seven of the eight new entries touch ncurses, the terminal-handling library that ships with essentially every Unix-like operating system, and half are resurfaced research from 2017. One — CVE-2000-0963 — is old enough to vote. Age doesn't make them irrelevant.

Security engineer Read →
Apache Tomcat CVE-2025-24813
Vulnerability analysis 10 min read

Apache Tomcat CVE-2025-24813: when a partial PUT becomes conditional RCE

Apache Tomcat's CVE-2025-24813 turns a partial PUT into remote code execution, but only when a precise chain of non-default preconditions all line up. Here is the path-equivalence mechanism, how it chains with file-based session deserialization, why the RCE is conditional, and exactly what closes it.

Security Engineers Read →
The Windows CLFS use-after-free
Attack Chains 10 min read

The Windows CLFS use-after-free: the quiet kernel driver that hands ransomware SYSTEM

CVE-2025-29824 is a use-after-free in the Windows Common Log File System driver, clfs.sys, that turns a normal user account into SYSTEM on nearly every supported version of Windows. It was used in the wild as the privilege-escalation stage of a Play ransomware intrusion. Here is the object-lifetime defect, how a dangling kernel pointer becomes a controlled write, and how to recognize and close the exposure without reproducing an exploit.

Security Engineers Read →
One over-long handshake
Edge & Network 10 min read

One over-long handshake: the Ivanti Connect Secure IF-T stack overflow (CVE-2025-0282)

CVE-2025-0282 turns a single unauthenticated IF-T/TLS handshake into native code execution on an Ivanti Connect Secure VPN appliance. An over-long client capabilities value overruns a fixed-size stack buffer, corrupts saved control data, and becomes a control-flow hijack on the perimeter itself. Here is the mechanism, why it landed in CISA's Known Exploited Vulnerabilities catalog on the day it was disclosed, and what actually closes it.

Security Engineers Read →
CrushFTP CVE-2025-31161
Cloud 10 min read

CrushFTP CVE-2025-31161: the AWS4-HMAC bypass that picks the user before checking the signature

CVE-2025-31161 is a CVSS 9.8 authentication bypass in CrushFTP's S3-style AWS4-HMAC authorization path. The server binds an anonymous session to whatever account the Authorization header names, including the built-in crushadmin, before it ever verifies the HMAC signature. On CISA's Known Exploited list since April 2025. Here is the mechanism, why the DMZ proxy blunts it, and how to tell if you are exposed.

Security Engineers Read →
ToolShell
Vulnerability analysis 10 min read

ToolShell: unauthenticated ViewState deserialization RCE in on-prem SharePoint (CVE-2025-53770)

ToolShell (CVE-2025-53770) turns an on-premises SharePoint server into an unauthenticated shell by reaching the ToolPane.aspx ViewState deserializer with a spoofed Referer. The real danger is not the first request, it is the stolen ASP.NET machine key that lets an attacker forge signed __VIEWSTATE blobs and re-enter after patching. Here is the mechanism, the CVE lineage, and what actually closes it.

Security Engineers Read →
What landed in CVE-land this week
Research 6 min read

What landed in CVE-land this week

This week's feed is unusually lopsided: one genuinely dangerous OS command injection in a widely-installed CMS module, one unauthenticated denial-of-service against an industrial sensor protocol, and a handful of withdrawn identifiers worth mentioning for what they teach about triage discipline.

Security engineer Read →
Unauthenticated file upload to RCE on S…
AppSec 9 min read

Unauthenticated file upload to RCE on SAP NetWeaver: inside CVE-2025-31324

A missing authorization check on SAP NetWeaver Visual Composer's Metadata Uploader lets an unauthenticated attacker upload a JSP web shell onto the ERP application server and run commands as the SAP service account. CVE-2025-31324 scores 10.0 (SAP) and 9.8 (NVD), sits on CISA KEV, and was exploited as a zero-day from late March 2025 with heavy focus on manufacturing. Here is the mechanism, the timeline, and what closes it.

Security Engineers Read →
Skipping the password into the network
Edge & Network 9 min read

Skipping the password into the network: the Check Point VPN IKEv1 auth bypass

CVE-2026-50751 is a certificate-validation logic flaw in Check Point Remote Access and Mobile Access VPN gateways running the deprecated IKEv1 protocol. An unauthenticated attacker can complete a VPN session without valid credentials, turning the perimeter into an internal network foothold. It is an authentication bypass (CVSS 9.3, CWE-287), not a direct RCE. It is on CISA KEV, actively exploited since early May 2026, with one post-compromise case tied to a Qilin ransomware affiliate. Here is how the flaw works and the emergency mitigation via SK185033.

Security Engineers Read →
NVIDIAScape
Cloud Native 9 min read

NVIDIAScape: a three-line Dockerfile that escapes the NVIDIA Container Toolkit to host root

CVE-2025-23266 (NVIDIAScape) lets an attacker-supplied container image escape to host root on multi-tenant GPU nodes. The privileged OCI createContainer hook inherits environment variables from the image and runs out of the container root filesystem, so an LD_PRELOAD pointed at a bundled shared library loads attacker code with the hook's privileges. Here is the CWE-426 mechanism, why Adjacent plus low-privilege still rates a 9.0 in shared-GPU tenancy, the blast radius, and how to close it.

Platform & Security Engineers Read →
RediShell
Vulnerability analysis 8 min read

RediShell: a 13-year-old Lua use-after-free turns Redis into host code execution

CVE-2025-49844 is a use-after-free in the Redis Lua scripting engine that lets a client with EVAL capability race the garbage collector, corrupt the Lua VM, escape the sandbox, and run native code in the Redis process. Authentication is required, but Redis ships with no authentication by default, so much of the exposed install base is effectively open. How the GC race works, why it matters for AI infrastructure, and what closes it.

Security Engineers Read →
No login required on the enterprise fro…
Validation 6 min read

No login required on the enterprise front door: unauthenticated RCE in Oracle PeopleSoft PeopleTools

CVE-2026-35273 turns an internet-reachable management endpoint on Oracle PeopleSoft PeopleTools into code execution with no credentials required. It is rated CVSS 9.8, it is in the CISA known-exploited catalog, and the fix is a version and an exposure decision. Here is the mechanism at defender altitude, how to spot it on your perimeter, and what closes it.

ERP security lead Read →
The BOLA taxonomy
API Security 7 min read

The BOLA taxonomy: API risk number one, and 41.7% of it is state-changing

Broken Object Level Authorization is still the number one API risk, and the numbers say most of it is worse than a data leak. A taxonomy of 107 classified bug-bounty disclosures finds 78.5 percent were confirmed in-scope BOLA and 41.7 percent of those were state-changing actions on another user's object, not simple reads. Here is the evidence, the shape of the BOLA family, and the two-identity test harness that finds it before an attacker does.

API security lead Read →
Thirteen hours to exploit
Detection 8 min read

Thirteen hours to exploit: a repeatable N-day triage runbook

Fast-moving 2026 CVEs are being exploited within hours of disclosure: LMDeploy inside about thirteen hours, NetScaler inside a day. You cannot win that race with a meeting. Here is a repeatable N-day triage runbook that turns a same-day advisory into a version fingerprint, a safe proof of exposure, an exact patched build, and a verified fix, run in order under a countdown.

Detection engineer Read →
The deputy problem never left
Cloud 7 min read

The deputy problem never left: cloud privilege escalation through delegated trust

A confused deputy is a privileged component tricked into using its authority on behalf of a caller who was never entitled to it. It is a 1988 idea, and in 2026 it still hands attackers someone else's cloud role. Here is the mechanism across AWS cross-account trust and a fresh Azure Monitor privilege-escalation CVE, why delegated trust without a per-tenant discriminator is the shared root cause, how to find it on your own tenancy, and how to close it.

Cloud security architect Read →
Worms in the registry
Supply Chain 8 min read

Worms in the registry: three 2026 npm and PyPI compromises that stole every cloud credential

A package manager that runs install scripts by default turns a passive download into remote code execution. In 2026, three npm and PyPI campaigns weaponized that one default to steal AWS, Azure, GCP, and Kubernetes credentials, and one of them shipped valid SLSA provenance while doing it. Here is how registry worms work, how to find the affected versions in your build, and the controls that break the loop.

DevSecOps lead Read →
Every AI server wants to fetch a URL
Cloud 8 min read

Every AI server wants to fetch a URL: three 2026 SSRFs into cloud metadata

Almost every AI server wants to fetch a URL for you, and in 2026 three separate CVEs turned that convenience into a straight line from an attacker-supplied link to cloud IAM credentials at 169.254.169.254. LMDeploy, mcp-atlassian, and Crawl4AI each forgot the instance metadata endpoint or validated one field while leaving the transport open, and one was exploited within roughly thirteen hours. Here is the shared mechanism, how to find it across your own AI services, and the controls that close the metadata path for good.

Cloud security engineer Read →
The MCP STDIO transport is a command line
AI Security 8 min read

The MCP STDIO transport is a command line: RCE from an AI tool config

Adding a custom MCP server over the STDIO transport does not fill in a setting, it specifies a program to launch. When that config field is weakly sanitized and reachable by an ordinary user, the field is a shell. Flowise CVE-2026-40933 turns an authenticated MCP registration into OS code execution. Here is the mechanism, how to detect the exposure across your AI hosts, and what closes it.

AI platform security lead Read →
A sudoPassword field that runs your com…
Supply Chain 6 min read

A sudoPassword field that runs your command: unauth RCE in the 9router npm package

The 9router npm package left one install route out of its dashboard auth middleware, then piped a request field straight into a root shell. Before 0.4.44, an unauthenticated POST could turn a JSON sudoPassword value into a command running as root. Here is the two-bug stack behind CVE-2026-59800, how to find it in your dependency tree, and what closes it.

Application security lead Read →
Root on the gateway
AppSec 7 min read

Root on the gateway: unauthenticated command injection in Ivanti Sentry

CVE-2026-10520 is an unauthenticated OS command injection in Ivanti Sentry scored at the CVSS ceiling of 10.0. Because the service runs as root, one crafted request to an internet-facing mobility gateway becomes a root shell and a pivot into the enrolled-device trust boundary. Here is the mechanism, how to recognize your exposure, and what closes it.

Security engineer Read →
A double quote in an ingress path
Cloud Native 7 min read

A double quote in an ingress path: config injection to RCE in ingress-nginx

A double quote in a Kubernetes Ingress annotation breaks out of the nginx configuration the ingress-nginx controller generates and injects arbitrary directives. Because directives can run code, the controller executes attacker input, and in a default install it can read every Secret in the cluster. Here is how CVE-2026-3288 works, why anyone who can create an Ingress can reach it, and what closes it.

Platform security engineer Read →
Another NetScaler memory overread
Edge & Network 7 min read

Another NetScaler memory overread: when a SAML IDP hands you the heap

CVE-2026-8451 is an out-of-bounds read in NetScaler ADC and NetScaler Gateway configured as a SAML identity provider. A crafted request makes the appliance read past an intended buffer and return adjacent heap memory, and repeated requests let an attacker harvest session tokens and authentication material from a box that is built to face the internet. Public reporting had exploitation underway within about a day of disclosure. Here is the mechanism, how to recognize the exposure, and why patching alone does not close it.

Network security engineer Read →
Injecting a query language you have nev…
Validation 8 min read

Injecting a query language you have never heard of: DQL injection in Dgraph

Everyone knows to parameterize SQL. Almost nobody thinks to parameterize Dgraph Query Language, so when Dgraph builds DQL text by string-formatting user input, the injection lands the same way it did in SQL twenty years ago. Three 2026 flaws show it: a login-path oracle (CVE-2026-44840, CVSS 7.5), and two pre-auth paths (CVE-2026-41327 and CVE-2026-41328, CVSS 9.1) that read the entire graph from a single unauthenticated request. Here is the shared mechanism, how to recognize the exposure, and what closes it.

Application security lead Read →
1.5 million control panels, no password…
Validation 8 min read

1.5 million control panels, no password required: the cPanel and WHM login bypass

Around 1.5 million cPanel and WHM control panels were reachable on the internet when a missing-authentication flaw let an unauthenticated attacker reach a fully authenticated control-panel session with no valid credentials. CVE-2026-41940 sat as a zero-day for roughly two months before the patch and landed in CISA KEV. Here is the class, the mechanism as scoped by NVD and detailed by Rapid7, how to recognize your exposure, and what closes it.

Hosting security lead Read →
SQL injection that ends in a shell
Validation 7 min read

SQL injection that ends in a shell: FortiClient EMS and the endpoint-manager blind spot

CVE-2026-21643 is an unauthenticated SQL injection in FortiClient EMS that escalates to command execution because the data tier runs with high privilege on the management host. The mechanism, why endpoint managers are a blind spot, how to detect exposure without weaponizing anything, and how a boolean or time-based differential proves the bug and confirms the fix in 7.4.5.

Security engineer Read →
Root from a byte stream
Validation 7 min read

Root from a byte stream: the Cisco Secure FMC deserialization flaw

CVE-2026-20131 is a CVSS 10.0, pre-authentication Java deserialization bug in the web console of Cisco Secure Firewall Management Center, the box that manages your firewalls. A crafted object stream deserializes into arbitrary code running as root, with no login. It is in CISA KEV and tied to Interlock ransomware. Here is the mechanism, the exposure, and the fix.

Security engineer Read →
Unauthenticated RCE on the trust anchor
AppSec 9 min read

Unauthenticated RCE on the trust anchor: why three injection classes still dominate

Three of the most-exploited bug classes of 2026 share one trait: they turn a single unauthenticated request into code execution on the system you trust most. Deserialization of untrusted data, SQL injection, and OS command injection keep landing pre-auth on collaboration servers, security appliances, and remote-access gateways. Here is why they dominate the known-exploited list, how to recognize the exposure, and what closes it.

Application security lead Read →
The management plane is the target
Identity 10 min read

The management plane is the target: unauthenticated RCE on your MDM

An endpoint management server is the one box on your network allowed to run code on every laptop and phone you own. When it is internet-facing and unauthenticated code execution lands on it, the attacker does not get one machine, they get the fleet. Here is why the management plane is the highest-value target on the perimeter, grounded in three 2026 known-exploited Ivanti CVEs, how to tell if you are exposed, and the controls that contain it.

Head of security Read →
What landed in CVE-land this week
Research 6 min read

What landed in CVE-land this week

The week ending 2026-06-22 was bad for anything that treats a filesystem as a trust boundary. Four new entries hit the CISA Known Exploited Vulnerabilities (KEV) catalog between 2026-06-15 and 2026-06-18; the pattern is identical across all four: an attacker writes, overwrites, or dereferences a file they should not...

Security engineer Read →
From underground to detection
Attack Chains 10 min read

From underground to detection: daily attack-chain synthesis

Threat actors do not exploit one vulnerability. They compose a sequence: get in, read secrets, move sideways, take control. A defensive program that tests one CVE at a time will never see the chain. Here is how we turn each day's published threat intelligence into composed, multi-step detection chains, with this week's Cisco Catalyst SD-WAN Manager double-CVE controller takeover, CVE-2026-20182 and CVE-2026-20262, as the worked example.

Threat intelligence lead Read →
The factory default certificate on your…
Infrastructure 10 min read

The factory default certificate on your perimeter

An edge appliance ships with a self-signed certificate so it can boot before you provision it. If you never finish provisioning, that certificate stays on the public internet, and its private key is shared across every unit of the product line. Here is why a factory default certificate is a default-credential problem in disguise, grounded in CWE-1392 and CWE-295, how to spot it, and the one provisioning step that closes it.

Infrastructure/network lead Read →
The symlink that walks out of the jail
Infrastructure 11 min read

The symlink that walks out of the jail: privileged link-following on shared hosting

On a shared host, the boundary between two tenants is the file system, and the file system trusts a symlink. A privileged plugin follows a link a low-privileged tenant planted, then acts on the other side of the jail. Grounded in CVE-2026-54420 (CVSS 8.5, CWE-61), the LiteSpeed cPanel plugin symlink-following flaw that escalates a web shell to root on CloudLinux and CageFS shared hosting. Here is the link-following decision tree and the contract that ends the class.

Hosting operator Read →
The zero-false-positive doctrine
Detection 9 min read

The zero-false-positive doctrine

Most security tooling optimizes for recall: catch everything, sort it out later. We optimize for the opposite. A finding ships only if a human can reproduce the underlying fact off the wire at verification time. Here are the four tests every candidate must pass before we sign it, and why a scanner that calls everything critical is worse than no scanner at all.

Head of security Read →
The KEV clock
Validation 9 min read

The KEV clock: when a CVE stops being a backlog item and becomes an emergency

A CVE is a backlog item until the moment it lands on the CISA Known Exploited Vulnerabilities catalog. Then it is an emergency with a deadline, sometimes measured in days. Mid-June 2026 put three edge-and-hosting CVEs on the KEV list inside one week, each with a short remediation window. Here is how the KEV clock should drive your prioritization, why version-banded exposure detection beats waiting for a pen test, and how to act inside the window.

Vulnerability management lead Read →
The token that skips the login
Identity 10 min read

The token that skips the login: how SaaS integration OAuth theft bypasses your MFA

The defining SaaS breach pattern of 2026 is not a cracked password and not a phish. It is a stolen third-party-integration OAuth token that skips your login, never triggers MFA, and pivots across your connected platforms. Here is how integration-token theft works, why your login alerts stay quiet, and how to audit your connected-app surface with evidence.

Identity and access lead Read →
One DELETE to erase everyone
API Security 12 min read

One DELETE to erase everyone: the under-gated destructive endpoint

Your read endpoints are authorization-hardened. Your DELETE route is one line of code nobody tenant-scoped, and a single request erases every tenant's sources, agents, and assessments at once. Destructive operations are routinely under-gated relative to reads. Here is the decision tree from finding the destructive endpoint to platform-wide destruction, grounded in CVE-2026-53469, and the class test that covers every write and delete route.

API security engineer Read →
Signature-valid is not authorized-for-t…
API Security 12 min read

Signature-valid is not authorized-for-this-resource

The token's signature is valid. The agent verifies it and proceeds. But it never checks that the token's source_id claim matches the resource the caller asked for, so a tenant with a perfectly valid token of its own reads and rewrites another tenant's object. Here is the JWT claim-binding decision tree, grounded in CVE-2026-53471 against the kubev2v migration-planner, and the contract that ends the class.

Application security engineer Read →
The auxiliary service nobody gated
Infrastructure 11 min read

The auxiliary service nobody gated: unauthenticated file write in a bundled sidecar

The main application authenticates every request. A PostgreSQL helper process bundled alongside it listens on the network and authenticates nothing. Truncate the right file, a config, a license, an audit log, and a weird endpoint becomes an integrity and availability compromise. Grounded in CVE-2026-20253 (CVSS 9.8), the unauthenticated file create and truncate in Splunk's PostgreSQL sidecar. Here is the trust-boundary decision tree your front-door scanner never walks.

Infrastructure/platform lead Read →
The lethal trifecta is an architecture…
AI Security 10 min read

The lethal trifecta is an architecture problem: reading OWASP's State of Agentic AI

OWASP's State of Agentic AI names the lethal trifecta: untrusted input, access to private data, and the ability to act or exfiltrate. When one agent holds all three, no prompt filter saves you. Here is why the fix is an architecture boundary, not a smarter guardrail, and the controls that break the chain.

AI/ML security engineer Read →
The agent that disabled its own certifi…
Infrastructure 10 min read

The agent that disabled its own certificate checks: hardcoded insecure TLS and vCenter credential theft

A migration agent installed to manage infrastructure hardcodes an insecure TLS configuration when it connects to vCenter. An adjacent-network attacker intercepts the session and harvests vCenter admin credentials. CVE-2026-53475 (CVSS 9.3, CWE-295) is the anchor. Here is the attacker decision tree, why version scanners miss it, and the fix that ends the class.

Cloud security engineer Read →
Serverless on Kubernetes
Cloud 13 min read

Serverless on Kubernetes: from function deploy to cluster admin

A serverless platform hands tenants a builder and a router so they can ship functions without touching the cluster. The moment either is reachable without authentication, or accepts an unvalidated pod spec, the convenience becomes the breach: deploy a pod, reach the node, lift the service-account token, own the cluster. Grounded in the Fission RCE pair CVE-2026-50545 and CVE-2026-50563 (CVSS 9.9) and the unauthenticated-router invocation CVE-2026-46614.

Platform/SRE lead Read →
The sandbox you trust to run untrusted…
Cloud 13 min read

The sandbox you trust to run untrusted code: micro-VM escape as an attack surface

You run untrusted code inside a sandbox and trust the boundary. CI jobs, AI tool-execution, multi-tenant build runners: all of it leans on the assumption that the box holds. A sandbox or micro-VM escape collapses that assumption and the host runs the attacker's code. Here is the escape decision tree, grounded in CVE-2026-46695 (Boxlite, CVSS 10.0) and the runc and cgroups escapes before it, and the defense-in-depth that ends the class.

Platform/SRE lead Read →
The exposed LLM builder
AI Security 12 min read

The exposed LLM builder: when the AI control plane becomes the breach

A team stands up a low-code LLM app builder for a prototype, leaves the UI and API reachable, and forgets it. That instance holds the model-provider keys, the database credentials, and the tools the agent can call. CVE-2026-46442 (CVSS 9.9) turns Flowise into authenticated remote code execution through the custom-function node. Here is the decision tree from a discovered builder to host compromise, and the boundary that ends it.

AI platform engineer Read →
The WordPress plugin failure class
AppSec 12 min read

The WordPress plugin failure class: frontend AJAX with no capability check

A WordPress plugin ships a frontend AJAX endpoint that skips the capability check and trusts the client-supplied Content-Type. An unauthenticated visitor uploads what they want, or self-registers as an administrator. CVE-2026-9067 and CVE-2025-6254 are this week's reminders that the per-plugin CVE churn never ends, but the underlying class is one repeatable test. Here is the decision tree, and the control that closes the whole family.

CISO Read →
Template injection
AppSec 11 min read

Template injection: when a framework renders attacker input as code

A framework's own templating is trusted as safe. Then attacker-influenced text reaches the template compiler and edit your profile bio becomes code execution on the app server. Server-side template injection recurs across every framework, from Jinja2 sandbox escapes to OGNL remote code execution to modern HEEx-style HTML templating. Here is the decision tree from a template-rendered sink to RCE, why a CVE-by-CVE scanner lags a class test, and the fix that ends the class.

AppSec engineer Read →
The cross-tenant read your monitoring d…
API Security 13 min read

The cross-tenant read your monitoring dashboard allows

Your ops and monitoring tooling holds every tenant's server inventory, configs, and the SSH credentials it uses to reach them. When its object-level authorization is the weakest link, a scoped guest account reads and rewrites another tenant's data with no exploit at all. Here is the cross-tenant BOLA decision tree in ops tooling, grounded in CVE-2026-45550, CVE-2026-45552, and CVE-2026-45563 against Roxy-WI, and the contract that ends the class.

Application security engineer Read →
The key was in the box
Identity 10 min read

The key was in the box: hardcoded signing keys and default credentials

A product ships with a fixed JWT signing key baked into its source, image, or binary. Anyone who pulls the artifact mints valid tokens and walks in as anyone. CVE-2026-48031 set the secret to the literal string random. Here is the attacker decision tree, why runtime scanners never see it, and the fix that ends the class.

AppSec engineer Read →
The quoting helper lied
Supply Chain 11 min read

The quoting helper lied: argument injection inside a trusted dependency

A developer wraps untrusted input in a quoting helper they believe neutralizes the shell, then hands the result to a command. But the helper has a bypass, or was never applied to the path that re-parses the string back into argv. The input arrives at the shell as a flag or an operator, and a trusted dependency executes attacker commands. Atril (CVE-2026-46529), Dulwich (CVE-2026-42563), and Gogs (CVE-2026-52806) all shipped this class in 2026. Here is the attacker decision tree and the dependency-aware test that finds it.

AppSec engineer Read →
RoguePlanet
Attack Chains 9 min read

RoguePlanet: the race condition that hands over SYSTEM (CVE-2026-47281)

A time-of-check to time-of-use window in a privileged service is a quiet primitive: win the race and a low-privilege account is handed SYSTEM. CVE-2026-47281 is the clean specimen. Here is the decision tree from a local foothold to full host control, why a banner-matching scanner misses it, and the fix that closes the window.

Endpoint security lead Read →
A record Patch Tuesday and the Exchange…
Cloud 9 min read

A record Patch Tuesday and the Exchange zero-day that mattered (CVE-2026-42897)

A record-setting Patch Tuesday buried the one fix that actually mattered: an Exchange zero-day already exploited in the wild. Here is how to read a giant patch batch for the vulnerabilities that change your risk this week, the decision tree behind the Exchange flaw, and the prioritization that beats patching by CVSS alone.

Patch and vulnerability manager Read →
The VPN session that needs no password
Edge & Network 10 min read

The VPN session that needs no password: Check Point IKEv1 auth bypass (CVE-2026-50751)

The remote-access gateway is the front door to the building, and CVE-2026-50751 lets an attacker walk through it without a password. An IKEv1 authentication bypass on a Check Point edge appliance is a pre-auth pivot into the internal network. Here is the attacker decision tree, and why a single-request probe misses it.

Network security engineer Read →
The fork that runs in your trusted context
Supply Chain 10 min read

The fork that runs in your trusted context: how pull_request_target poisoned 172 packages

A misused pull_request_target workflow runs a fork's untrusted code with the repository's own secrets, and that single trust mistake poisoned 172 packages (CVE-2026-45321). Here is the decision tree from an opened pull request to credential theft and supply-chain compromise, and the workflow contract that ends the class.

Platform engineer Read →
Threat-intel deep dive
Research 6 min read

Threat-intel deep dive: five KEV additions in the week ending 2026-06-04

In the six days ending 2026-06-04, CISA added five entries to the Known Exploited Vulnerabilities catalog: a PHP object-deserialization bug in a Magento cache extension, a mobile-OS integer overflow, a Linux container-escape primitive from 2022 still being reused, a network-facing WebLogic bug reachable over T3 and...

Security engineer Read →
Mirasvit under active exploitation
Research 6 min read

Mirasvit under active exploitation: CVE-2026-45247

On 2026-06-03, CISA added CVE-2026-45247 to the Known Exploited Vulnerabilities (KEV) catalog. The flaw affects Mirasvit Full Page Cache Warmer, a Magento/Adobe Commerce extension that pre-populates the storefront cache so shoppers hit warm pages rather than cold PHP renders.

Security engineer Read →
MCP unauthenticated tool-invocation
AI Security 13 min read

MCP unauthenticated tool-invocation: the class behind the rug-pull

The rug-pull was the symptom. The class behind it is an MCP server that invokes tools for a caller it never authenticated. CVE-2026-33032 is one CVE old. The official SDK ships DNS-rebinding protection off by default. Here is the decision tree from an exposed MCP server to unauthenticated tool execution, and the auth boundary that ends it.

AI platform engineer Read →
Multi-tenant isolation
Cloud 14 min read

Multi-tenant isolation: the cross-tenant read your IAM policy allows

Your IAM policy is correct. Your namespace RBAC is correct. And an attacker with a scoped foothold in one tenant still reads another tenant's data. Isolation fails at the runtime trust boundary your static cloud-posture scanner cannot see. Here is the cross-tenant read decision tree, grounded in CVE-2024-7646 and CVE-2024-9594, and the contract that ends the class.

Cloud security engineer Read →
Reading the extortion economy
Detection 14 min read

Reading the extortion economy: what TamperedChef and ROADtools tell defenders

The cyber-extortion economy runs on commodity tooling: TamperedChef's reused signing certs, ROADtools' Azure AD recon, the copy_file_range Linux LPE (CVE-2026-31431). None of it is exotic. All of it is instrumentable. Here is the detection decision tree defenders should wire up, signal by signal.

Detection engineer Read →
PAN-OS this quarter
Edge & Network 14 min read

PAN-OS this quarter: the management-plane cluster worth re-auditing

A cluster of PAN-OS and GlobalProtect CVEs landed this quarter, CVE-2026-0227 through CVE-2026-0265, with one captive-portal zero-day (CVE-2026-0300) already exploited in the wild. The common thread is an exposed management plane. Here is the attacker decision tree from an exposed mgmt interface to config and credential access, and the re-audit that closes it.

Network security lead Read →
SAML desync
Identity 14 min read

SAML desync: how a clock and a canonicalization bug forge any session

A SAML assertion is signed XML. The signature covers a digest of the document, but which bytes are the document? When the canonicalizer and the signature verifier disagree, an attacker injects a forged assertion the verifier validates and the application trusts. CVE-2024-45409 turned ruby-saml into exactly that. Here is the attacker decision tree from an altered assertion to any authenticated session, and the assertion-binding fix.

Identity-platform owner Read →
When the IDE is the initial access
Supply Chain 14 min read

When the IDE is the initial access: trojanized VS Code / Nx Console extensions

A developer accepts an extension auto-update. Buried in the bundle is a credential stealer that walks .npmrc, .git-credentials, the AWS profile and SSH keys, then phones home. CVE-2026-48027 turned the Nx Console extension into initial access for an entire CI estate. Here is the attacker decision tree from one malicious install to GitHub, cloud, and pipeline compromise.

Platform engineer Read →
NetScaler session mixup
Edge & Network 13 min read

NetScaler session mixup: the CitrixBleed sibling your probe misses

CitrixBleed taught the world to read NetScaler memory. CVE-2026-4368 is the quieter sibling: a race-condition session mixup on the edge appliance that hands one user another user's authenticated session, and a probe that checks a banner or fires a single request misses it entirely. Here is the decision tree from an unauthenticated request to an internal pivot.

CISO Read →
The chain nobody models
Attack Chains 14 min read

The chain nobody models: crossing a business-logic primitive into cloud-admin

Commodity scanners stop at single-issue depth. Real operators don't. They cross a business-logic primitive into a cloud-admin primitive over five, six, seven steps. MOVEit (CVE-2023-34362) and Confluence (CVE-2023-22515) showed the world that the deep chain is the breach. Here is the attacker decision tree, and why your scanner never sees it.

CISO Read →
Lateral movement at AI speed
Attack Chains 14 min read

Lateral movement at AI speed: what your perimeter monitoring missed last quarter

Mandiant's M-Trends 2026 reports the median initial-access-to-handoff time has collapsed from eight hours to twenty-two seconds. The fastest observed lateral move took four minutes. If your detection pipeline runs on hourly batches, you are watching a movie of an attacker who already left.

CISO Read →

Get the next attack-research piece by email.

One piece every two weeks. Attacker-decision-first, defender-action-driven, sourced against public threat data. No vendor noise, no upsell letters. Proof beats promises.

One email every two weeks. Unsubscribe in one click. We do not share your address.