Labs
Short research notes on newly disclosed vulnerabilities: the problem, the payload, and the fix.
- highCVE-2026-55667
CVE-2026-55667: File Browser Out-of-Scope File Deletion via Symlink-Following RemoveAll
A scoped File Browser user with only the Create permission can delete files outside their allowed directory by exploiting an unguarded cleanup call that follows symlinks, bypassing the delete…
- highCVE-2026-59869
CVE-2026-59869: js-yaml Merge-Key Chain Quadratic CPU DoS
A specially crafted YAML document with chained merge-key anchors forces js-yaml to burn quadratic CPU time, letting an attacker crash a Node.js service with a sub-100 KB file.
- highCVE-2026-59928
CVE-2026-59928: mistune Quadratic-Time ReDoS via Reference-Link Definitions
Sending a Markdown document with thousands of repeated reference-link definitions causes mistune's block parser to do quadratic work, pegging the CPU for seconds on a small input.
- highCVE-2026-53515
CVE-2026-53515: @better-auth/sso Broken Object-Level Authorization on SSO Provider Registration
Any regular member of a Better Auth organization could register an attacker-controlled SSO identity provider for that organization, potentially letting the attacker inject arbitrary users into the…
- highCVE-2026-55514
CVE-2026-55514: vLLM Denial of Service via Prompt Embeds on M-RoPE Models
Sending a pre-computed embedding payload to vLLM's completions endpoint crashes the entire server when an M-RoPE model is loaded, because a type-narrowing assertion always fails for embedding-only…
- highCVE-2025-67725
CVE-2025-67725: Tornado HTTPHeaders Quadratic DoS via Repeated Header Coalescing
Sending a single HTTP request with thousands of repeated header lines forces Tornado to do O(n^2) string copies, blocking its event loop and taking down the entire server.
- highCVE-2025-67726
CVE-2025-67726: Tornado Quadratic DoS via Crafted Multipart Parameters
Sending a single HTTP multipart request with many parameters containing quoted semicolons can pin Tornado's CPU at 100% and freeze the entire server, because the header parser does redundant work…
- high
Skipper opaAuthorizeRequestWithBody OPA Policy Bypass via Oversized Content-Length
Sending a JSON body larger than Skipper's configured OPA body-size limit causes the policy engine to evaluate an empty document, so any deny-on-presence Rego rule silently passes the request through…
- highCVE-2026-55177
CVE-2026-55177: CloudTAK Authenticated Full-Read SSRF in /api/esri Routes
Any logged-in CloudTAK user can make the server fetch an arbitrary internal URL (cloud metadata, loopback ports, VPC services) through the ESRI helper routes, and read the full response back…
- highCVE-2026-54567
CVE-2026-54567: Flask-Reuploaded Extension Denylist Bypass via Case-Folding Asymmetry
Flask-Reuploaded's fix for a previous file-upload vulnerability left a gap: passing a mixed-case filename like shell.PHP through the name override parameter slips past the script denylist…
- highCVE-2026-53597
CVE-2026-53597: @prompty/core Arbitrary Code Execution via JavaScript Frontmatter
A malicious .prompty file using a JavaScript frontmatter block could execute arbitrary code in the host Node.js process the moment the file was loaded, because the TypeScript loader passed file…
- highCVE-2026-54549
CVE-2026-54549: meta-ads-mcp Server-Side Request Forgery in upload_ad_image
The meta-ads-mcp image upload tool fetches any URL an attacker supplies without checking whether it points to an internal or cloud metadata address, letting anyone with a dummy auth token pivot the…