Labs
Short research notes on newly disclosed vulnerabilities: the problem, the payload, and the fix.
- highCVE-2026-61556
CVE-2026-61556: LiquidJS strip_html Infinite Loop (DoS)
A two-character input to LiquidJS's built-in strip_html filter causes the Node.js event loop to spin forever, making any app that renders untrusted content permanently unresponsive.
- criticalCVE-2026-71428
CVE-2026-71428: unstructured Full-Read SSRF via url= Parameter
Passing an attacker-controlled URL to unstructured's partition functions causes the server to fetch any internal HTTP address and return its contents as parsed document text, exposing cloud…
- high
SiYuan: Stored and Reflected XSS via SVG Sanitizer Bypass (HTML/XML Parser Mismatch)
SiYuan's SVG cleaner uses an HTML parser to strip scripts, but browsers read the served file as XML, so wrapping a script inside desc and style tags hides it from the cleaner while still executing it…
- highCVE-2026-67446
CVE-2026-67446: Mailpit Thumbnail Handler Uncontrolled Memory Allocation via Oversized Image Dimensions
Mailpit's thumbnail endpoint decodes the full raster of any image attachment before scaling it to 180x120, so an attacker can send a compact PNG that expands to tens or hundreds of megabytes in…
- highCVE-2026-72921
CVE-2026-72921: SeaweedFS Filer JWT allowed_prefixes Authorization Bypass
A filer JWT scoped to one tenant's path prefix also grants access to sibling paths that share the same string prefix, letting one tenant read or write another tenant's data.
- highCVE-2026-73841
CVE-2026-73841: OpenChoreo Cross-Project Authorization Bypass in exec and wirelogs Endpoints
A low-privileged OpenChoreo tenant with exec or log-viewing rights on any single project can run commands inside pods and read wirelogs of components owned by completely different projects in the…
- highCVE-2026-67445
CVE-2026-67445: Mailpit SMTP Command Parser Unbounded Memory Allocation (DoS)
Mailpit's SMTP server reads each command line into memory with no size cap, letting any unauthenticated client force arbitrarily large heap allocations before the server rejects the input.
- criticalCVE-2026-73843
CVE-2026-73843: OpenChoreo cluster-gateway Unauthenticated Data-Plane RCE
OpenChoreo's cluster-gateway exposed privileged Kubernetes proxy and pod-exec APIs on the same network port used by remote data-plane agents, with no authentication, letting anyone on the network run…
- highCVE-2026-84366
CVE-2026-84366: Scrapy S3DownloadHandler Cleartext Transmission of AWS Credentials
Scrapy's S3 download handler sends AWS-signed requests over plain HTTP by default, exposing credentials and object contents to any network observer.
- highCVE-2026-62676
CVE-2026-62676: omnigent Shell-Command Parser Fails Open, Allowing Policy Bypass
Omnigent's shared shell-command parser returns nothing when it sees a command it does not recognize, and the policy engine treats that as 'allow', so a confined agent can escape its GitHub repo…
- highCVE-2026-65842
CVE-2026-65842: @platejs/docx-io Server-Side Request Forgery via Remote Image Fetch
When @platejs/docx-io converts attacker-controlled HTML to DOCX, it unconditionally fetches any remote image URL found in the markup, letting an attacker pivot the server into probing internal…
- highCVE-2026-62675
CVE-2026-62675: Omnigent Authenticated Runner RCE via Python Callable Tool in Uploaded Agent Bundle
A logged-in user can upload a crafted Omnigent agent bundle that points a tool at any Python callable on the server, including subprocess functions, letting them run arbitrary commands on the shared…