Fix Netty Security Vulnerabilities in os-core-lib-azure
Summary
This PR fixes critical Netty security vulnerabilities in the community os-core-lib-azure that were not being resolved despite having Spring Boot 3.5.3 and security overrides already in place.
Problem Discovered
While os-core-lib-azure uses Spring Boot 3.5.3 and already has security overrides for several components, the Netty vulnerabilities were not being fixed because:
- Spring Boot 3.5.3 includes Netty 4.1.122.Final which has CVEs
- The os-core-common BOM (which has netty-bom 4.1.125.Final) is imported AFTER Spring Boot
- Due to Maven's BOM import ordering, Spring Boot's Netty version takes precedence
Security Vulnerabilities Fixed
Netty Codec Vulnerabilities (HIGH SEVERITY)
- CVEs: CVE-2025-58056, CVE-2025-58057, CVE-2025-55163
- Component: io.netty:netty-codec, netty-codec-http, netty-codec-http2
- Previous Version: 4.1.122.Final (from Spring Boot 3.5.3)
- Fixed Version: 4.1.125.Final (via explicit BOM import)
- Impact: Fixes request smuggling and denial of service vulnerabilities
Solution
Added netty-bom 4.1.125.Final import BEFORE Spring Boot dependencies to ensure it takes precedence over Spring Boot's Netty version.
Changes Made
pom.xml
- Added
netty-bom4.1.125.Final import in dependencyManagement section - Positioned it BEFORE Spring Boot dependencies to ensure proper override
- Added clear documentation about the fix and when it can be removed
Technical Details
The fix requires careful BOM import ordering:
- Spring Framework BOM
- Azure SDK BOM
- Spring Cloud Azure dependencies
- springdoc-openapi
- Netty BOM (4.1.125.Final) - NEW ← Must be here to override Spring Boot
- Spring Boot dependencies
- os-core-common BOM
Version
The library version remains as development-SNAPSHOT per community repository conventions.
Existing Security Overrides (Already Present)
The library already contains the following security fixes which remain effective:
- nimbus-jose-jwt: 10.0.2 (fixes CVE-2025-53864)
- reactor-netty-http: 1.2.8 (fixes CVE-2025-22227)
- commons-lang3: 3.18.0 (fixes CVE-2025-48924)
Notes
- This issue affects any project using Spring Boot 3.5.3 with os-core-common imported after Spring Boot
- The fix can be removed when Spring Boot updates to Netty 4.1.125.Final or later
Edited by Charles Zipp