github.com/lutzroeder/netron
Submitted 8/4/2026, 10:28:01 AM · Status: ok
Risk grade
D
70 / 100
Findings
45
0 critical2 high43 medium0 low0 info0 on CISA KEV0ATT&CK
Showing 45 of 45 findings
Findings
- js-yaml: YAML merge-key chains can force quadratic CPU consumptiongrypeCVE-2026-59869EPSS 0.4%
- js-yaml: js-yaml: Denial of Service via crafted YAML documentsjs-yaml is a JavaScript YAML parser and dumper. From 3.0.0 before 3.15.0 and from 4.0.0 before 4.3.0, js-yaml can spend quadratic CPU time parsing a document whose size grows only linearly when a chain of mappings uses merge keys where each mapping merges the previous one. This i…trivyCVE-2026-59869
- Ensure top-level permissions are not set to write-allEnsure top-level permissions are not set to write-all on on(Build)checkov.github/workflows/build.yml:65
- Ensure top-level permissions are not set to write-allEnsure top-level permissions are not set to write-all on on(Publish)checkov.github/workflows/publish.yml:0
- JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliasesgrypeCVE-2026-53550EPSS 0.4%
- brace-expansion: DoS via exponential-time expansion of consecutive non-expanding {} groups### Summary brace-expansion's expand() exhibits exponential-time - O(2ⁿ) - behavior in the number of consecutive non-expanding {} groups. A short, all-ASCII input (~90 bytes/30 groups) blocks the calling thread for minutes; a slightly longer input hangs it effectively indefinitel…osv-scannerCVE-2026-13149
- brace-expansion: DoS via exponential-time expansion of consecutive non-expanding {} groups### Summary brace-expansion's expand() exhibits exponential-time - O(2ⁿ) - behavior in the number of consecutive non-expanding {} groups. A short, all-ASCII input (~90 bytes/30 groups) blocks the calling thread for minutes; a slightly longer input hangs it effectively indefinitel…osv-scannerCVE-2026-13149
- brace-expansion: DoS via unbounded expansion length causing an out-of-memory process crash### Summary `expand()` bounds the *number* of results it produces (the `max` option, `100_000` by default) but not their *length*. By chaining many brace groups, an attacker keeps the result count under `max` while making every result grow with the number of groups. Building `ma…osv-scannerCVE-2026-14257
- brace-expansion: DoS via unbounded expansion length causing an out-of-memory process crash### Summary `expand()` bounds the *number* of results it produces (the `max` option, `100_000` by default) but not their *length*. By chaining many brace groups, an attacker keeps the result count under `max` while making every result grow with the number of groups. Building `ma…osv-scannerCVE-2026-14257
- brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation### Summary The `maxLength` mitigation added in `5.0.8` for GHSA-mh99-v99m-4gvg / CVE-2026-14257 is incomplete. It bounds the accumulator where results are *combined*, but not the intermediate arrays that feed it. A ~25 KB input still crashes the Node process with an **uncatchab…osv-scannerCVE-2026-69152
- brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation### Summary The `maxLength` mitigation added in `5.0.8` for GHSA-mh99-v99m-4gvg / CVE-2026-14257 is incomplete. It bounds the accumulator where results are *combined*, but not the intermediate arrays that feed it. A ~25 KB input still crashes the Node process with an **uncatchab…osv-scannerCVE-2026-69152
- brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation### Summary The `maxLength` mitigation added in `5.0.8` for GHSA-mh99-v99m-4gvg / CVE-2026-14257 is incomplete. It bounds the accumulator where results are *combined*, but not the intermediate arrays that feed it. A ~25 KB input still crashes the Node process with an **uncatchab…osv-scannerCVE-2026-69152
- fast-uri vulnerable to host confusion via backslash authority introducer### Impact `fast-uri` v4.1.1 and earlier require a literal `//` to recognize a URI authority, so a reference that uses `\\`, `/\`, or `\/` as the authority introducer (in place of `//`, after an optional scheme) is parsed with no authority: the sequence and everything after it f…osv-scannerCVE-2026-18446
- fast-uri vulnerable to host confusion via failed IDN canonicalization### Impact `fast-uri` versions `>= 2.3.1, <= 4.0.0` fail to canonicalize Unicode/IDN hostnames for HTTP-family URLs. The IDN conversion path calls `URL.domainToASCII(...)` on the global WHATWG `URL` constructor, where that helper does not exist. The resulting `TypeError` is sile…osv-scannerCVE-2026-13676
- fast-uri vulnerable to host confusion via literal backslash authority delimiter### Impact `fast-uri` v4.1.0 and earlier do not treat a literal backslash (U+005C) as an authority delimiter. Node's native WHATWG `URL` (used by `fetch()`, `undici`, and Node's `http`/`https` clients) normalizes `\` to `/` for special schemes (`http`, `https`, `ws`, `wss`, `ftp…osv-scannerCVE-2026-16221
- flatted vulnerable to unbounded recursion DoS in parse() revive phase## Summary flatted's `parse()` function uses a recursive `revive()` phase to resolve circular references in deserialized JSON. When given a crafted payload with deeply nested or self-referential `$` indices, the recursion depth is unbounded, causing a stack overflow that crashes…osv-scannerCVE-2026-32141
- form-data: CRLF injection in form-data via unescaped multipart field names and filenames## Summary `form-data` builds `multipart/form-data` request bodies. Through v4.0.5, the `field` name passed to `FormData#append` and the `filename` option are concatenated directly into the `Content-Disposition` header with no escaping of CR (`\r`), LF (`\n`), or `"`. An applica…osv-scannerCVE-2026-12143
- JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases### Summary A crafted YAML document can trigger algorithmic CPU exhaustion in `js-yaml` merge-key processing (`<<`) by repeating the same alias many times in a merge sequence. This causes quadratic parse-time behavior relative to input size and can block a Node.js worker/event …osv-scannerCVE-2026-53550
- js-yaml: YAML merge-key chains can force quadratic CPU consumption### Impact js-yaml can spend quadratic CPU time parsing a document whose size grows only linearly. The issue is triggered by a chain of mappings where each mapping merges the previous one: ```yaml a0: &a0 { k0: 0 } a1: &a1 { <<: *a0, k1: 1 } a2: &a2 { <<: *a1, k2: 2 } a3: &a3 {…osv-scannerCVE-2026-59869
- node-tar: Decompression/parse DoS via unlimited input### Summary A **Decompression/parse DoS via unlimited input** vulnerability in `node-tar` allows an attacker to exhaust server resources (disk space and CPU). Because the library does not enforce hard upper bounds on total decompressed data or entry counts, a small, maliciously c…osv-scannerCVE-2026-59873
- node-tar: Negative tar entry size causes infinite loop in archive replace### Summary A checksum-valid tar archive with a negative base-256 encoded entry size can make `tar.replace()` loop forever while scanning the existing archive. Applications that update attacker-controlled tar archives can have a worker process pinned indefinitely, causing denial…osv-scannerCVE-2026-59874
- node-tar: Process crash via PAX numeric path type confusion### Summary A crafted 2.5KB tar archive crashes any Node.js process that extracts it. The PAX header parser coerces all-digit path values to JavaScript numbers, which causes an uncaught TypeError when downstream code calls `.split('/')` on the numeric value. Error handlers and `…osv-scannerCVE-2026-59871
- node-tar: Uncaught Exception DoS via NUL byte in PAX path/linkpath records## Summary `node-tar` strips trailing `NUL` bytes from long-name (`L`) and long-linkpath (`K`) GNU extended headers but does **not** apply the same sanitization to equivalent fields delivered via PAX (`x` typeflag) extended headers. A PAX record of the form `path=visible.txt\x00…osv-scannerCVE-2026-59875
- node-tar: Uncontrolled recursion in mapHas/filesFilter allows uncatchable stack-overflow DoS via crafted long-path tar with member selection## Summary `node-tar` (npm `tar`) contains an uncontrolled-recursion stack-exhaustion DoS in the internal `mapHas` helper used by `filesFilter`. When a consumer calls `tar.t(...)` or `tar.x(...)` with a non-empty member-selection list, node-tar installs a filter that closes over …osv-scanner
- Prototype Pollution via parse() in NodeJS flatted--- **Summary** The parse() function in flatted can use attacker-controlled string values from the parsed JSON as direct array index keys, without validating that they are numeric. Since the internal input buffer is a JavaScript Array, accessing it with the key "\_\_prot…osv-scannerCVE-2026-33228
- undici vulnerable to cookie attribute injection via unsanitized domain and unparsed setCookie fields## Impact The `setCookie` function has two attribute injection paths. `validateCookieDomain` does not reject semicolons (`validateCookiePath` already does at 0x3B), so a `domain` value like `example.com; SameSite=None` lands verbatim as `Domain=example.com; SameSite=None`. The `…osv-scannerCVE-2026-16729
- undici vulnerable to cookie attribute injection via unsanitized domain and unparsed setCookie fields## Impact The `setCookie` function has two attribute injection paths. `validateCookieDomain` does not reject semicolons (`validateCookiePath` already does at 0x3B), so a `domain` value like `example.com; SameSite=None` lands verbatim as `Domain=example.com; SameSite=None`. The `…osv-scannerCVE-2026-16729
- undici vulnerable to CRLF Injection via blob-like body 'type' property### Impact When an application passes a duck-typed blob-like body to undici's HTTP/1.1 dispatcher (via `request()`, `stream()`, `pipeline()`, or `dispatch()`) with a `.type` derived from untrusted input, an attacker can inject CRLF sequences (`\r\n`) to append arbitrary HTTP hea…osv-scannerCVE-2026-15157
- undici vulnerable to CRLF Injection via blob-like body 'type' property### Impact When an application passes a duck-typed blob-like body to undici's HTTP/1.1 dispatcher (via `request()`, `stream()`, `pipeline()`, or `dispatch()`) with a `.type` derived from untrusted input, an attacker can inject CRLF sequences (`\r\n`) to append arbitrary HTTP hea…osv-scannerCVE-2026-15157
- undici vulnerable to cross-origin request routing via SOCKS5 proxy pool reuse## Impact When using `Socks5ProxyAgent`, undici reuses a single connection pool across different origins without verifying that the pool's origin matches the requested origin. All requests are dispatched through the pool connected to the first origin, regardless of the intended …osv-scannerCVE-2026-6734
- undici vulnerable to cross-user information disclosure and parse-time crash via degenerate private cache directives### Summary Two issues in undici's cache interceptor, both fixed by the same patch on `lib/util/cache.js`: 1. **Shared-cache disclosure:** Responses with malformed qualified `Cache-Control: private` directives such as `private=""` or `private=","` can be incorrectly stored in t…osv-scannerCVE-2026-13697
- undici vulnerable to cross-user information disclosure via shared cache whitespace bypass## Impact Undici's cache interceptor incorrectly classifies some responses as cacheable when the upstream `Cache-Control` header uses whitespace-padded qualified `private` or `no-cache` field names such as `private=" authorization"` or `no-cache="\tauthorization"`. The parser pr…osv-scannerCVE-2026-9678
- undici vulnerable to cross-user information disclosure via whitespace around equals in Cache-Control directives## Impact Undici's cache interceptor mishandles optional whitespace (OWS) placed around the `=` of a qualified `no-cache` or `private` Cache-Control directive, such as `no-cache ="authorization"` (OWS before `=`) or `no-cache= "authorization"` (OWS after `=`). The parser either …osv-scannerCVE-2026-14643
- undici vulnerable to downstream response desynchronization via retry interceptor### Impact Undici's `interceptors.retry()` can deliver a response whose body length does not match the `Content-Length` header exposed to the application after a retry or resume of a partial response. Applications that use `interceptors.retry()` and forward upstream response hea…osv-scannerCVE-2026-16728
- undici vulnerable to downstream response desynchronization via retry interceptor### Impact Undici's `interceptors.retry()` can deliver a response whose body length does not match the `Content-Length` header exposed to the application after a retry or resume of a partial response. Applications that use `interceptors.retry()` and forward upstream response hea…osv-scannerCVE-2026-16728
- undici vulnerable to HTTP header injection via Set-Cookie percent-decoding## Impact undici's cookie parser in `parseSetCookie` percent-decodes cookie values via `qsUnescape`, turning encoded sequences like `%0D%0A`, `%00`, `%3B`, and `%3D` into their literal byte equivalents. RFC 6265 §5.4 does not specify any decoding and browsers do not decode eithe…osv-scannerCVE-2026-9679
- undici vulnerable to HTTP header injection via Set-Cookie percent-decoding## Impact undici's cookie parser in `parseSetCookie` percent-decodes cookie values via `qsUnescape`, turning encoded sequences like `%0D%0A`, `%00`, `%3B`, and `%3D` into their literal byte equivalents. RFC 6265 §5.4 does not specify any decoding and browsers do not decode eithe…osv-scannerCVE-2026-9679
- undici vulnerable to HTTP response queue poisoning via keep-alive socket reuse## Impact Undici's HTTP/1.1 client is vulnerable to response queue poisoning on reused keep-alive sockets. An attacker-controlled upstream server can inject an unsolicited HTTP/1.1 response onto an idle socket after a request completes. When the client dispatches the next reques…osv-scannerCVE-2026-6733
- undici vulnerable to HTTP response queue poisoning via keep-alive socket reuse## Impact Undici's HTTP/1.1 client is vulnerable to response queue poisoning on reused keep-alive sockets. An attacker-controlled upstream server can inject an unsolicited HTTP/1.1 response onto an idle socket after a request completes. When the client dispatches the next reques…osv-scannerCVE-2026-6733
- undici vulnerable to Set-Cookie SameSite attribute downgrade via permissive substring matching## Impact When undici parses a `Set-Cookie` header, it accepts any `SameSite` attribute value that contains `Strict`, `Lax`, or `None` as a substring, rather than the case-insensitive exact match specified by RFC 6265. Non-spec values are silently mapped to one of the three stan…osv-scannerCVE-2026-11525
- undici vulnerable to Set-Cookie SameSite attribute downgrade via permissive substring matching## Impact When undici parses a `Set-Cookie` header, it accepts any `SameSite` attribute value that contains `Strict`, `Lax`, or `None` as a substring, rather than the case-insensitive exact match specified by RFC 6265. Non-spec values are silently mapped to one of the three stan…osv-scannerCVE-2026-11525
- undici vulnerable to TLS certificate validation bypass via dropped requestTls in SOCKS5 ProxyAgent## Impact undici's `ProxyAgent` silently drops the `requestTls` option when configured with a SOCKS5 proxy URI (`socks5://` or `socks://`). The target HTTPS connection through the SOCKS5 tunnel falls back to Node's default trust store, ignoring user-configured `ca`, `cert`, `key…osv-scannerCVE-2026-9697
- undici WebSocket client vulnerable to denial of service via fragment count bypass## Impact The undici WebSocket client enforces `maxPayloadSize` on the cumulative byte count of fragments in a message but does not enforce a limit on the number of fragments. A malicious WebSocket server can stream many small or empty continuation frames that each pass per-fram…osv-scannerCVE-2026-12151
- undici WebSocket client vulnerable to denial of service via fragment count bypass## Impact The undici WebSocket client enforces `maxPayloadSize` on the cumulative byte count of fragments in a message but does not enforce a limit on the number of fragments. A malicious WebSocket server can stream many small or empty continuation frames that each pass per-fram…osv-scannerCVE-2026-12151
- js-yaml: js-yaml: Denial of Service via crafted YAML merge keysjs-yaml is a JavaScript YAML parser and dumper. Prior to 4.2.0 and 3.15.0, a crafted YAML document can trigger algorithmic CPU exhaustion in js-yaml merge-key processing (<<) by repeating the same alias many times in a merge sequence. This causes quadratic parse-time behavior rel…trivyCVE-2026-53550
This report is public.