Research

Vulnerability research and advisories

Actionable writeups with exploit context, metadata, and practical remediation details.

Subscribe to our security research

Get new advisories by email or plug the feed into your RSS reader.

RSS feed

Prefer RSS? Subscribe at https://corgea.com/research/rss.xml.

Trojanized `anthropic.claude-code` `2.1.313` in the Cursor marketplace planted an SSH backdoor on up to 5,000 developer machines

On 29 October 2026 between 09:27 and 20:35 UTC (2:27 a.m. to 1:35 p.m. PT), a tampered build of Anthropic's Claude Code extension (anthropic.claude-code version 2.1.313) was served from the Cursor VS Code Extension Marketplace to at most 5,000 users. A 66-line loader prepended to extension.js appended an attacker Ed25519 key labeled svc-telemetry to ~/.ssh/authorized_keys, wrote per-OS persistence (com.apple.sysmond.plist on macOS, a SysMon scheduled task on Windows, and @reboot cron entries on Linux), opened a reverse SSH tunnel to 134.209.82[.]225, and beaconed host metadata and secret-variable names to port 8099.

Oct 30, 2026 • critical
CWE-506CWE-494CWE-829

CVE-2026-104859: `@nx/docker` turned release configuration into `/bin/sh -c`

Published on 2 October 2026, `CVE-2026-104859` in npm package `@nx/docker` lets untrusted `repositoryName`, `registryUrl`, `--dockerVersion`, and `NX_DOCKER_IMAGE_REF` values break out of interpolated `docker tag`, `docker images`, and `docker push` shell strings during Nx release jobs. The 22.7.8 and 23.1.1 fixes switch those calls to argv arrays with `execFile()` and `execFileSync()`.

Oct 30, 2026 • critical
CWE-78CVE-2026-104859CVE-2026-119282

Ruby 4.0.9, 3.4.12, and 3.3.13 patch three Onigmo regex compiler bugs behind four GitLab RCE CVEs

On 23 October 2026, the Ruby core team released Ruby 4.0.9, 3.4.12, and 3.3.13 to fix three memory-safety bugs in the bundled Onigmo regular-expression compiler that GitLab used to patch four critical RCE flaws (CVE-2026-89078, CVE-2026-93577, CVE-2026-97229, and CVE-2026-110264). Any Ruby application that passes attacker-controlled strings into Regexp.new, Regexp.compile, Regexp.union, or /#{input}/ is exposed, and neither Regexp.timeout nor simple pattern-length limits stop the bugs.

Oct 30, 2026 • critical
CWE-415CWE-190CWE-787

Elixir and Erlang security releases (`Bandit 1.14.0`, `hackney 4.9.0`, `Ash 3.37.2`): cross-tenant upsert takeover, pinned-CA `partial_chain` bypass, and nine HTTP/2 & WebSocket flaws

On 26 October 2026, the Erlang Ecosystem Foundation (EEF) CNA and upstream maintainers published 14 CVEs across three core Elixir and Erlang libraries: Ash Framework (`ash < 3.37.2`, `CVE-2026-96581`), the Erlang `hackney` HTTP client (`< 4.9.0`, `CVE-2026-115693`, `CVE-2026-97200`, `CVE-2026-115700`, `CVE-2026-113440`, `CVE-2026-112880`), and the Phoenix-default Bandit HTTP/WebSocket server (`< 1.14.0`, nine CVEs including `CVE-2026-108525`, `CVE-2026-109584`, `CVE-2026-111103`, `CVE-2026-110314`, and `CVE-2026-114216`). In Ash, upserts under attribute multitenancy matched on primary keys or `all_tenants?` identities without scoping to the caller's tenant, letting one tenant read, overwrite, and hijack another tenant's rows. In `hackney`, `hackney_ssl:merge_ssl_opts/3` kept its bundled `certifi` `partial_chain` callback even when callers pinned a private CA via `cacerts` or `cacertfile` (CVSS 9.1 Critical).

Oct 30, 2026 • critical
CWE-295CWE-639CWE-400

Wasmtime 49.0.4, 48.0.7, 43.0.0, and 36.0.19 patch two critical Cranelift sandbox escapes and WASI HTTP header framing bugs

On 23 and 24 October 2026, the GitHub Advisory Database, NVD, and RustSec published six advisories for Bytecode Alliance's Wasmtime and Cranelift compiler backend. Two are rated CVSS 9.9 Critical sandbox escapes: CVE-2026-115893 (GHSA-mghf-wjfp-p5xm, RUSTSEC-2026-0379), where a Wasm br_table with more than ~256,000 targets overflows the 19-bit AArch64 b.hs offset and jumps to an attacker-controlled address, and CVE-2026-115889 (GHSA-897f-g5gm-fmxm, RUSTSEC-2026-0380), where 24-bit SSA value bit-packing in ValueDataPacked silently overflows in release builds. The releases also fix Component Model stream type confusion (CVE-2026-115892) and three wasmtime-wasi-http header framing flaws.

Oct 30, 2026 • critical
CWE-190CWE-682CWE-843

`node-forge` `1.4.2`, `joi` `18.3.1`, `@hapi/content` `6.0.3`, and `nuxt` `4.6.3` patch PKCS#12 MAC forgery, X.509 CA spoofing, and `/%2e/` route bypass

On 29 October 2026, NVD and the GitHub Advisory Database published 22 security advisories across four core JavaScript and TypeScript packages: node-forge 1.4.1 / 1.4.2 (17 CVEs including CVE-2026-118782 PKCS#12 iteration-0 constant key/MAC bypass, CVE-2026-119190 X.509 basicConstraints CA impersonation via deprecated OIDs 2.5.29.10 and 2.5.29.13, CVE-2026-85393 and CVE-2026-119192 RSA-PKCS#1 v1.5 signature forgery, CVE-2026-119191 BIT STRING maxDepth bypass, and CVE-2026-119187 / CVE-2026-119188 TLS crashes), joi 17.13.9 / 18.3.1 (CVE-2026-118772), @hapi/content 6.0.3 (CVE-2026-119202), and Nuxt 4.6.3 (CVE-2026-119198 to CVE-2026-119201).

Oct 30, 2026 • high
CWE-347CWE-295CWE-674

`graphql-core` `3.3.1`, `joserfc` `1.7.6`, `pyasn1` `0.6.5`, `pypdf` `6.21.4`, Botan `3.13.0`, and Frappe `16.34.0` patch RCE, SSTI, and parser DoS

On 29 October 2026, NVD and the GitHub Advisory Database published 21 advisories across six Python and C++ libraries and frameworks: Frappe Framework 15.121.0 / 16.34.0 (CVE-2026-119145, CVSS 9.9 Critical file-upload path traversal RCE; CVE-2026-119144, CVSS 8.8 High SSTI), Botan 3.13.0 (CVE-2026-118769, CVSS 9.2 Critical FFI block-size truncation memory corruption; CVE-2026-118765 RNG state bug), graphql-core 3.3.1 (CVE-2026-119286), joserfc 1.7.5 / 1.7.6 (CVE-2026-119283 and CVE-2026-119284), pyasn1 0.6.5 (CVE-2026-119194 to CVE-2026-119197), and pypdf 6.21.3 / 6.21.4 (CVE-2026-119203 to CVE-2026-119209).

Oct 30, 2026 • critical
CWE-22CWE-1336CWE-197

`CVE-2026-98432`: Linux kernel IPv4 TCP options RCU use-after-free exposes Go `1.24+` default MPTCP listeners to remote root RCE

Following Anthropic's 27 October 2026 disclosure of a zero-click remote root exploit for CVE-2026-98432 (CVSS 9.8 Critical) against Linux Multipath TCP (MPTCP) listeners, the Go Security Team warned on 29-30 October 2026 (oss-security 2026/10/30/1, golang/go#82717) that Go 1.24 and later enable MPTCP by default for all listening TCP sockets on Linux (multipathtcp=2). Until hosts reboot into a patched kernel (6.12.113, 6.18.56, 7.2.10, or 7.3), operators running Go 1.24+ servers should disable MPTCP via GODEBUG=multipathtcp=0 or sysctl net.mptcp.enabled=0.

Oct 30, 2026 • critical
CWE-416CWE-362CWE-787

RustSec advisories in `cargo-nextest` `0.9.150`, `rustpython-vm` `0.6.0`, `rustls-ffi` `0.15.7`, and `zstd-rs`: portable recording RCE, baked-in CI secrets, TLS SNI UAF, and 16 Zstandard flaws

On 26 and 27 October 2026, the RustSec Advisory Database published 19 advisories across four critical Rust projects: `cargo-nextest` (`RUSTSEC-2026-0412` / `GHSA-vc25-qg58-w57c`, CVSS 7.8), `rustpython-vm` (`RUSTSEC-2026-0394`), `rustls-ffi` (`RUSTSEC-2026-0413` / `GHSA-rc3f-4j82-cmrg`), and the `zstd`, `zstd-safe`, and `zstd-sys` crates (`RUSTSEC-2026-0391` through `RUSTSEC-2026-0406` and `RUSTSEC-2026-0410`, ~455M downloads on crates.io). `cargo nextest run --rerun` passed unvalidated build-scope arguments from portable recordings straight to `cargo`; `rustpython-vm`'s `build.rs` compiled every build-machine environment variable into the binary in cleartext; `rustls-ffi` retained a dangling pointer to caller-owned `server_name` strings; and `zstd-rs` fixed cross-stream context leaks, 32 KiB uninitialized heap disclosures on 6-byte legacy frames, `Seekable::decompress` `Vec::set_len` overruns, and a `wasm32` address-0 allocator write.

Oct 30, 2026 • high
CWE-88CWE-200CWE-532

29 fake-interview Tailwind and Animate.css npm plugins hide their payload in private scopes unlocked by a committed `.npmrc` token

Twenty-nine npm packages posing as Animate.css plugins for Tailwind CSS ship with no install scripts, no network calls, and no obfuscated code in their public tarballs. Instead, line 5 of `src/motion.js` calls `require('@aaron205whitmore/postcss-animate-utils')` or `require('@jasperquinn/postcss-motion-helpers')`, two private npm packages that return 404 to everyone except candidates who clone a fake job-interview repository containing a read-scoped `.npmrc` token. When we checked the registry on 22 October 2026, 26 of the 29 public packages were still live on npm.

Oct 30, 2026 • high
CWE-506CWE-829

CVE-2025-34291: Langflow CORS and refresh-token chain reaches RCE

CISA added CVE-2025-34291 to KEV after exploitation of a Langflow chain where wildcard credentialed CORS and a SameSite=None refresh-token cookie let a malicious webpage mint API tokens and reach authenticated code-execution endpoints.

Oct 29, 2026 • critical
CWE-346CWE-94CWE-78

CVE-2026-103251: n8n queue mode lets Redis pub-sub install arbitrary npm packages cluster-wide

Published on 1 October 2026, CVE-2026-103251 in the npm package n8n broke the trust boundary between the normal community-package install flow and the Redis pub-sub path used by queue mode. In affected builds, anyone who could write to the Redis bus could send a forged install message and make every cluster node download, install, and load an attacker-chosen npm package without the usual validation, checksum, permission, or safety checks.

Oct 29, 2026 • high
CWE-862CWE-1321CWE-532

CVE-2026-10796 lets hostile mirrors turn `nvm install` into shell RCE

A June 4 disclosure showed that nvm <= 0.40.4 trusted version fields from mirror index.tab metadata, letting hostile or MITM'd mirrors inject commands into both nvm_download() and nvm_get_checksum(). Version 0.40.5 fixes the issue by removing eval from downloader execution, passing tarball names to awk as data, and rejecting disallowed characters in mirror-supplied version strings.

Oct 29, 2026 • high
CWE-78CWE-94CVE-2026-10796

PHP2Shell: how PHP's `longjmp()` out-of-memory path became pre-auth RCE (CVE-2026-109618, CVE-2026-109619)

PHP shipped 8.2.35, 8.3.36, 8.4.27, and 8.5.12 on 21 October 2026 to fix two critical memory-safety bugs in the engine. An out-of-memory bailout during multipart parsing can leave half-initialized request state or dangling worker globals behind, and a later request on the same worker consumes them. Researchers demonstrated unauthenticated RCE against stock WordPress, Drupal, and Joomla images, plus remote memory disclosure through the `PHPSESSID` cookie. Exploitation started before the patch because details leaked early.

Oct 29, 2026 • critical
CWE-416CWE-908CWE-843

Node.js 26.12.1, 24.22.1, and 22.23.4 patch Brotli decoder RCE, dns.resolve NUL truncation, and TLS IP hostname bypasses

On 21 and 22 October 2026, Node.js shipped security releases v26.12.1, v24.22.1, and v22.23.4 alongside Google Brotli v1.2.1, v1.1.1, and v1.0.10 to close ten CVEs. Four are rated high severity: an out-of-bounds write in the bundled Brotli decoder that permits remote code execution (CVE-2026-111497), NUL-byte hostname truncation in dns.resolve* and setLocalAddress (CVE-2026-105482), and two TLS server-identity bypasses for fullwidth and non-canonical IPv4 hosts (CVE-2026-105483, CVE-2026-106069). The release also fixes startup-snapshot randomUUID() replay (CVE-2026-106074) and distrusts the compromised eMudhra CA keys.

Oct 29, 2026 • critical
CWE-787CWE-170CWE-295

Strands Agents SDK, LangGraph, FastMCP, MCP Python SDK, and MLflow advisories: A2A session leaks, scorer artifact RCE, prompt file read, and MCP audience / `$ref` bypasses

Between 22 and 27 October 2026, AWS, LangChain, Prefect, Anthropic/MCP, and Databricks published 11 advisories across Python and TypeScript AI agent frameworks: third-party scorer artifact RCE (`CVE-2026-116692`, CVSS 9.8), prompt model-version arbitrary file read (`CVE-2026-116690`, CVSS 7.5), CrewAI autolog API-key leakage (`CVE-2026-116691`), and scorer SSRF (`CVE-2026-115886`) in MLflow `< 3.17.0`; cross-resource bearer-token acceptance (`CVE-2026-116684`), tool `outputSchema` `$ref` SSRF/file probing (`CVE-2026-116686`), and cross-origin redirect header/body leaks (`CVE-2026-116685`) in the Model Context Protocol Python SDK (`mcp < 1.30.0` / `< 2.2.0`); shared Agent state across A2A `context_id`s in Strands Agents SDK (`CVE-2026-115419`); dot-joined namespace collision in LangGraph (`CVE-2026-115883`); and skipped post-transform `AuthCheck`s and un-bound M2M OAuth issuers in FastMCP (`GHSA-7xgj-8392-5q4r`, `GHSA-vqqp-x5qm-5qp4`).

Oct 29, 2026 • critical
CWE-94CWE-22CWE-59

Happy DOM 21.0.4, Undici 8.12.2 / 7.30.1 / 6.29.1, body-parser 2.4.0, and multer 2.5.0 advisories: ESM import-alias host RCE, SRI bypass, and single-request Node.js crashes

On 23 October 2026, the GitHub Advisory Database and NVD published five reviewed security advisories across core Node.js libraries: Happy DOM CVE-2026-115895 (GHSA-834v-8h66-3h79, CVSS 8.8 High), where an incomplete fix for CVE-2026-33943 lets an unsanitized ESM import alias execute host Node.js code; Undici CVE-2026-109869 (GHSA-xjj6-f33q-929c, High), CVE-2026-109841 (GHSA-f72v-6w45-q472, Subresource Integrity bypass), and CVE-2026-109924 (GHSA-4qv8-2p9j-2685, EventSource OOM); plus single-request uncaught-exception crashes in body-parser CVE-2026-111181 (GHSA-27r3-jxmh-p828, High) and multer CVE-2026-113872 (GHSA-q7qp-rjg7-q26m, High).

Oct 29, 2026 • high
CWE-94CWE-345CWE-400

Seroval `1.6.8` / `1.6.11`, Highcharts `13.1.0`, Vue I18n `11.4.14`, and GraphQL Tools `1.1.36` patch deserialization, prototype pollution, XSS, and WebSocket auth bleed

On 28 October 2026, the GitHub Advisory Database and NVD published 21 reviewed security advisories across four widely deployed JavaScript and TypeScript libraries: Seroval (CVE-2026-116580, CVE-2026-116581, CVE-2026-116582, CVE-2026-116583, CVE-2026-116584), Highcharts Core, Dashboards, and Grid (13 advisories including CVE-2026-118245, CVE-2026-118249, CVE-2026-118250, CVE-2026-118246, and CVE-2026-116797), Vue I18n and @intlify/* (CVE-2026-118257, CVE-2026-118256), and @graphql-tools/executor-legacy-ws (CVE-2026-118665, CVE-2026-118666).

Oct 29, 2026 • high
CWE-502CWE-94CWE-1321

ZDI publishes 7 zero-day RCE advisories in Ultralytics (`CVE-2026-118613` to `CVE-2026-118619`) alongside MONAI `1.6.1` `logging.conf` RCE (`CVE-2026-118683`)

On 28 October 2026, Trend Micro's Zero Day Initiative published seven (0Day) remote code execution advisories in Ultralytics YOLO (ZDI-26-812 through ZDI-26-818, CVE-2026-118613 through CVE-2026-118619, up to CVSS 8.8) spanning torch_load, torch_safe_load, parse_model, check_det_dataset, load_dataset_cache_file, and Google Drive Content-Disposition downloads. On the same day, NVD published two advisories for Project MONAI (< 1.6.1): CVE-2026-118683 (GHSA-wvpx-5qmp-46g3, CVSS 8.8), where ConfigWorkflow.__init__ passed a bundle's configs/logging.conf straight to logging.config.fileConfig() (which calls eval() on class= and args=), and CVE-2026-118684 (GHSA-hhh4-h52m-fqh6), where check_hash() defaulted to MD5 and returned True whenever hash_val was None.

Oct 29, 2026 • high
CWE-502CWE-94CWE-78

`oapi-codegen` `2.8.1`, `minimatch` `11.0.1`, `decode-uri-component` `0.5.1`, `@sigstore/oci` `0.7.2`, and `@sd-jwt/core` `0.20.0` patch Go code injection, glob/URI DoS, and credential leaks

On 29 October 2026, NVD and the GitHub Advisory Database published seven high-impact advisories across Go and JavaScript developer tooling: oapi-codegen 2.8.1 (CVE-2026-119028, CVSS 8.8; CVE-2026-119027, CVSS 7.5), minimatch 11.0.1 (CVE-2026-118764, CVSS v4.0 8.7), decode-uri-component 0.5.1 (CVE-2026-118664, CVSS v4.0 8.2), @sigstore/oci 0.7.2 (CVE-2026-118763, CVSS 7.4), @sd-jwt/core 0.20.0 (CVE-2026-62374), and flat 6.0.1 (CVE-2026-119051, CVSS v4.0 8.2).

Oct 29, 2026 • high
CWE-94CWE-400CWE-407