Skip to content

Commit 2f398fb

Browse files
authored
fix(deps): clear all 12 known CVEs from the 2026-04-17 baseline (#50)
Bumps every dependency flagged by the OSV-Scanner + Dependabot pass to its fixed version. Re-running OSV after this commit: 0 findings. Maven (all transitive, overridden via pom properties and dependencyManagement — nothing to change in our direct dep list): tomcat-embed-core 11.0.20 -> 11.0.21 (tomcat.version property) CVE-2026-34483 HIGH: JsonAccessLogValve improper encoding CVE-2026-34487 HIGH: sensitive info insertion into log file CVE-2026-34500 MOD : CLIENT_CERT auth does not fail as expected tools.jackson.core:* 3.1.0 -> 3.1.1 (explicit management entries) GHSA-2m67-wjpj-xhg9 HIGH: document length bypass in blocking/async/ DataInput parsers log4j-core 2.25.3 -> 2.25.4 (explicit management entry) CVE-2026-34477 MOD : verifyHostName silently ignored in TLS config CVE-2026-34478 MOD : log injection in Rfc5424Layout CVE-2026-34480 MOD : silent log-event loss in XmlLayout log4j-layout-template-json 2.25.3 -> 2.25.4 CVE-2026-34481 MOD : improper serialization of non-finite floats shiro-core 2.0.6 -> 2.1.0 CVE-2026-23901 LOW : observable timing discrepancy (pulled in by neo4j-security) mcp-core 1.1.0 -> 1.1.1 CVE-2026-34237 MOD : hardcoded wildcard CORS on MCP endpoints. Load-bearing for us — our read-only MCP API should not accept cross-origin requests from arbitrary origins. npm (direct dev dependency): vite 6.4.1 -> 6.4.2 (src/main/frontend/) CVE-2026-39363 HIGH: arbitrary file read via dev server WebSocket CVE-2026-39365 MOD : path traversal in optimized deps .map handling Dev-only (build tool) — blast radius is the developer machine. Note on Jackson: Spring Boot 4.0.5's `<jackson.version>` property pins only the new-API artifacts (tools.jackson.core:*) — Spring Boot does not propagate it to them, so the property override by itself is a no-op. Explicit <dependencyManagement> entries for jackson-core / -databind / -annotations are required until the Boot BOM catches up. Revert hints are captured in the pom's comment blocks so when Spring Boot 4.0.6+ / the Spring-AI BOM / Neo4j 2026.02.4 ship with these versions naturally, these overrides can go away. Verified: mvn test -> 3,059 tests, 0 failures, 0 errors osv-scanner -> 0 findings (was 12: 4 HIGH / 7 MOD / 1 LOW) dependency:tree -> all 6 Maven and 1 npm versions match fix targets
1 parent 066d870 commit 2f398fb

3 files changed

Lines changed: 82 additions & 6 deletions

File tree

pom.xml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,21 @@
2929
<spotbugs.version>4.9.8.3</spotbugs.version>
3030
<owasp.dependency-check.version>12.2.0</owasp.dependency-check.version>
3131
<checkstyle-plugin.version>3.6.0</checkstyle-plugin.version>
32+
33+
<!--
34+
Security override: Spring Boot 4.0.5 pulls tomcat-embed-core 11.0.20
35+
and jackson (tools.jackson.core) 3.1.0; both have CVEs fixed in the
36+
next patch release. Bumping these via the Spring-Boot-managed
37+
properties so all starter-managed artifacts pick up the fix
38+
without a full Spring Boot version change. Revert these when
39+
Spring Boot 4.0.6+ ships with the same or newer versions.
40+
tomcat 11.0.20 -> 11.0.21 (CVE-2026-34483 HIGH,
41+
CVE-2026-34487 HIGH,
42+
CVE-2026-34500 MODERATE)
43+
jackson 3.1.0 -> 3.1.1 (GHSA-2m67-wjpj-xhg9 HIGH)
44+
-->
45+
<tomcat.version>11.0.21</tomcat.version>
46+
<jackson.version>3.1.1</jackson.version>
3247
</properties>
3348

3449
<dependencyManagement>
@@ -40,6 +55,67 @@
4055
<type>pom</type>
4156
<scope>import</scope>
4257
</dependency>
58+
59+
<!--
60+
Security overrides for transitive CVE-affected dependencies that
61+
Spring Boot's managed-versions machinery does not cover:
62+
log4j-core 2.25.3 -> 2.25.4 (CVE-2026-34477 MOD,
63+
CVE-2026-34478 MOD,
64+
CVE-2026-34480 MOD)
65+
log4j-layout-template-json 2.25.3 -> 2.25.4 (CVE-2026-34481 MOD)
66+
•both pulled in transitively by Neo4j 2026.02.3.
67+
shiro-core 2.0.6 -> 2.1.0 (CVE-2026-23901 LOW)
68+
•pulled in by neo4j-security.
69+
mcp-core 1.1.0 -> 1.1.1 (CVE-2026-34237 MOD)
70+
•hardcoded wildcard CORS; pulled in by Spring AI MCP
71+
starter. Directly load-bearing for our read-only MCP
72+
endpoints: fix is non-optional.
73+
Revert overrides once the upstream BOMs ship matching versions.
74+
-->
75+
<dependency>
76+
<groupId>org.apache.logging.log4j</groupId>
77+
<artifactId>log4j-core</artifactId>
78+
<version>2.25.4</version>
79+
</dependency>
80+
<dependency>
81+
<groupId>org.apache.logging.log4j</groupId>
82+
<artifactId>log4j-layout-template-json</artifactId>
83+
<version>2.25.4</version>
84+
</dependency>
85+
<dependency>
86+
<groupId>org.apache.shiro</groupId>
87+
<artifactId>shiro-core</artifactId>
88+
<version>2.1.0</version>
89+
</dependency>
90+
<dependency>
91+
<groupId>io.modelcontextprotocol.sdk</groupId>
92+
<artifactId>mcp-core</artifactId>
93+
<version>1.1.1</version>
94+
</dependency>
95+
96+
<!--
97+
Explicit override for Jackson 3.x (tools.jackson.core). Spring
98+
Boot 4.0.5's managed-versions machinery pins these to 3.1.0 via
99+
its own BOM and the `<jackson.version>` property does not
100+
propagate to the new-API artifacts. Pin to 3.1.1 until Spring
101+
Boot 4.0.6+ ships with the fix (GHSA-2m67-wjpj-xhg9 HIGH,
102+
document length bypass in blocking/async/DataInput parsers).
103+
-->
104+
<dependency>
105+
<groupId>tools.jackson.core</groupId>
106+
<artifactId>jackson-core</artifactId>
107+
<version>3.1.1</version>
108+
</dependency>
109+
<dependency>
110+
<groupId>tools.jackson.core</groupId>
111+
<artifactId>jackson-databind</artifactId>
112+
<version>3.1.1</version>
113+
</dependency>
114+
<dependency>
115+
<groupId>tools.jackson.core</groupId>
116+
<artifactId>jackson-annotations</artifactId>
117+
<version>3.1.1</version>
118+
</dependency>
43119
</dependencies>
44120
</dependencyManagement>
45121

src/main/frontend/package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/frontend/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
"test:e2e:report": "playwright show-report"
1313
},
1414
"dependencies": {
15-
"antd": "^5.24.7",
1615
"@ant-design/icons": "^5.6.1",
16+
"antd": "^5.24.7",
1717
"echarts": "^5.6.0",
1818
"echarts-for-react": "^3.0.2",
1919
"react": "^18.3.1",
@@ -32,6 +32,6 @@
3232
"@types/react-dom": "^18.3.5",
3333
"@vitejs/plugin-react": "^4.3.4",
3434
"typescript": "~5.7.3",
35-
"vite": "^6.1.0"
35+
"vite": "^6.4.2"
3636
}
3737
}

0 commit comments

Comments
 (0)