Labs
Short research notes on newly disclosed vulnerabilities: the problem, the payload, and the fix.
- highCVE-2026-55523
CVE-2026-55523: praisonaiagents web_crawl SSRF via Unvalidated Redirect Target
The web_crawl tool in praisonaiagents blocks direct requests to internal addresses but blindly follows HTTP redirects, letting an attacker bounce a seemingly safe public URL into any loopback or…
- highCVE-2026-55525
CVE-2026-55525: praisonaiagents web_crawl SSRF via Redirect Bypass
The web_crawl tool in praisonaiagents checks only the first URL for private addresses, then blindly follows HTTP redirects, letting attackers reach internal services and cloud metadata endpoints the…
- highCVE-2026-55477
CVE-2026-55477: 3X-UI Authenticated Arbitrary File Write via Xray Log Path
Any logged-in 3X-UI administrator can redirect Xray's access log to an arbitrary file on the server, then write attacker-controlled content into it by triggering a proxy connection, which can result…
- highCVE-2026-54623
CVE-2026-54623: django-cms Plugin Move Endpoint Cyclic Reparenting DoS
An authenticated staff user can move a django CMS plugin under itself or one of its own children, creating a cycle in the plugin tree that causes recursive database queries to loop forever and stall…
- highCVE-2026-54049
CVE-2026-54049: Sakai Conversations Stored XSS via Unsanitized Topic and Post Messages
Any authenticated Sakai user can inject arbitrary HTML and JavaScript into Conversations topics, posts, or comments, which then silently executes in every other course member's browser when they open…
- high
postgres-protocol: Unbounded SCRAM Iteration Count CPU Exhaustion DoS
A malicious or man-in-the-middle PostgreSQL server can send an arbitrarily large SCRAM-SHA-256 iteration count during login, forcing the Rust client to spin the CPU for minutes per connection and…
- highCVE-2026-63421
CVE-2026-63421: @keystone-6/core graphql.maxTake Bypass via Negative take
Keystone's query result limit can be completely bypassed by passing a negative number to the GraphQL 'take' argument, letting any caller pull more records than the developer intended to allow.
- criticalCVE-2026-59989
CVE-2026-59989: Phalcon Volt Compiler join Filter PHP Code Injection (RCE)
Phalcon's Volt template engine splices raw attacker-controlled template arguments directly into generated PHP code, letting anyone who can influence a Volt template break out of the compiled output…
- highCVE-2026-64679
CVE-2026-64679: Atlantis Workspace Path Traversal Allows Out-of-Bounds Directory Operations
A path traversal bug in Atlantis lets anyone who can supply a workspace name escape the intended working directory, potentially deleting or recreating directories anywhere the Atlantis process can…
- highCVE-2026-76905
CVE-2026-76905: kin-openapi openapi3filter Nil-Pointer Panic via Malformed multipart/form-data
Sending a single HTTP request with a non-numeric value for an integer multipart/form-data field crashes any Go server using kin-openapi's built-in error helpers, letting an unauthenticated attacker…
- criticalCVE-2026-61539
CVE-2026-61539: Xinference Remote Code Execution via Unsafe eval() in Llama3 Tool-Call Parser
Xinference passes LLM-generated text directly into Python's eval() when parsing Llama3 tool-call output, letting anyone who can craft a chat-completion request run arbitrary commands on the server.
- highCVE-2026-77354
CVE-2026-77354: kin-openapi Uncontrolled Memory Allocation via deepObject Query Parameter
A single small HTTP query string can force a Go server using kin-openapi to allocate gigabytes of heap memory, crashing it via OOM kill, because the deepObject decoder blindly pre-allocates a slice…