Skip to content

Commit 31dcc31

Browse files
fix(deps): snyk sweep — release-2.8 critical/high + CVE-2026-4800
Minimal sweep on release-2.8. Scope: critical + high severity Snyk findings, plus SNYK-JS-LODASH-15869625 (CVE-2026-4800, lodash code injection) per user request. All five in-scope highs (2x lodash, 3x undici) dismissed via frontend/.snyk after reachability analysis. No dependency bumps needed. Methodology: reachability check first, then direct-dep bump, overrides only as last resort. See PR body for per-finding disposition. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent af84f1c commit 31dcc31

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

frontend/.snyk

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Snyk (https://snyk.io) policy file
2+
version: v1.25.1
3+
ignore:
4+
SNYK-JS-LODASH-15869625:
5+
- '@redpanda-data/ui > @hookform/devtools > lodash':
6+
reason: >-
7+
CVE-2026-4800 / Arbitrary Code Injection in lodash _.template with
8+
options.imports. Vulnerable surface is _.template. Reachability
9+
analysis: @hookform/devtools only imports lodash/isUndefined,
10+
lodash/isObject, and lodash/get (see
11+
node_modules/@hookform/devtools/dist/index.esm.js). The vulnerable
12+
_.template API is never loaded or invoked through this chain.
13+
Additionally, @hookform/devtools is gated inside @redpanda-data/ui
14+
behind a developerView flag and is not used anywhere in frontend/src.
15+
No untrusted input reaches lodash through this path.
16+
expires: '2027-04-22T00:00:00.000Z'
17+
created: '2026-04-22T00:00:00.000Z'
18+
- '@redpanda-data/ui > remark-emoji > node-emoji > lodash':
19+
reason: >-
20+
CVE-2026-4800 / Arbitrary Code Injection in lodash _.template with
21+
options.imports. Vulnerable surface is _.template. Reachability
22+
analysis: the legacy node-emoji@1.11.0 pulled transitively through
23+
@redpanda-data/ui's bundled remark-emoji@3.1.2 only imports
24+
lodash/toArray (see
25+
node_modules/@redpanda-data/ui/node_modules/remark-emoji/node_modules/node-emoji/lib/emoji.js).
26+
The vulnerable _.template API is never loaded or invoked. Frontend
27+
source code does not call lodash directly and does not import
28+
node-emoji directly. No untrusted input reaches _.template.
29+
expires: '2027-04-22T00:00:00.000Z'
30+
created: '2026-04-22T00:00:00.000Z'
31+
SNYK-JS-UNDICI-15518064:
32+
- '@tanstack/react-form > @remix-run/node > undici':
33+
reason: >-
34+
Uncaught Exception in undici WebSocket ByteParser. undici is pulled
35+
only via @tanstack/react-form's optional /start SSR utility
36+
(dist/esm/start/utils.js -> @remix-run/node). Frontend is a
37+
browser-only Module Federation remote built with rsbuild/rspack;
38+
source code imports only from '@tanstack/react-form' (browser entry),
39+
never '@tanstack/react-form/start'. undici never loads in the
40+
browser and its WebSocket client is never invoked from this app.
41+
expires: '2027-04-22T00:00:00.000Z'
42+
created: '2026-04-22T00:00:00.000Z'
43+
SNYK-JS-UNDICI-15518068:
44+
- '@tanstack/react-form > @remix-run/node > undici':
45+
reason: >-
46+
Improper Handling of Highly Compressed Data in undici
47+
PerMessageDeflate.decompress (WebSocket extension). undici is pulled
48+
only via @tanstack/react-form's optional /start SSR utility
49+
(dist/esm/start/utils.js -> @remix-run/node). Frontend is a
50+
browser-only Module Federation remote; source imports only from
51+
'@tanstack/react-form' (browser entry), never
52+
'@tanstack/react-form/start'. undici's WebSocket client never loads
53+
or decompresses data in this app.
54+
expires: '2027-04-22T00:00:00.000Z'
55+
created: '2026-04-22T00:00:00.000Z'
56+
SNYK-JS-UNDICI-15518070:
57+
- '@tanstack/react-form > @remix-run/node > undici':
58+
reason: >-
59+
Uncaught Exception via server_max_window_bits in undici
60+
permessage-deflate WebSocket extension. undici is pulled only via
61+
@tanstack/react-form's optional /start SSR utility
62+
(dist/esm/start/utils.js -> @remix-run/node). Frontend is a
63+
browser-only Module Federation remote; source imports only from
64+
'@tanstack/react-form' (browser entry), never
65+
'@tanstack/react-form/start'. undici's WebSocket client never loads
66+
in this app.
67+
expires: '2027-04-22T00:00:00.000Z'
68+
created: '2026-04-22T00:00:00.000Z'
69+
patch: {}

0 commit comments

Comments
 (0)