[Aikido] Fix 19 security issues in netty-handler, netty-codec-http2, netty-codec-socks and 13 more - #361
Closed
aikido-autofix[bot] wants to merge 1 commit into
Closed
[Aikido] Fix 19 security issues in netty-handler, netty-codec-http2, netty-codec-socks and 13 more#361aikido-autofix[bot] wants to merge 1 commit into
aikido-autofix[bot] wants to merge 1 commit into
Conversation
Author
|
Aikido's automated cron job opened a newer AutoFix. It fixes the same vulnerabilities and more: [Aikido] Fix 20 security issues in netty-handler, netty-codec-http2, netty-codec-socks and 13 more |
aikido-autofix
Bot
deleted the
fix/AIK-19103-AIK-20036-update-packages-117764719-gyww
branch
September 18, 2026 23:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrade dependencies to fix critical mTLS bypass via SNI misconfiguration, hostname verification failures on Java 25+, HTTP/1-to-HTTP/2 conversion vulnerabilities enabling host boundary bypass and request smuggling, and Extended CONNECT downgrade attacks.
✅ The Kotlin stdlib upgrade from 1.9.25 to 2.1.0 does not introduce breaking changes that affect this codebase. The code consists of simple Spring MVC, Ktor, and Javalin applications with basic Kotlin patterns (data classes, simple functions, standard library usage). None of the breaking changes listed in the changelog (deprecated APIs, Compose compiler changes, advanced type system changes, multiplatform restrictions, or complex property initialization patterns) are present in this codebase.
All breaking changes by upgrading org.jetbrains.kotlin:kotlin-stdlib-jdk7 from version 1.9.25 to 2.1.0 (CHANGELOG)
KT-85062Deprecate language version 2.1KT-79663KLIB-based compilers: Promote partial linkage to "always on"KT-76934Drop old IR parameter APIKT-72950Partial Linkage: Change the semantics of-Xpartial-linkage-loglevelKT-84714KJS: Forbid exporting properties with context parametersKT-67809Native: remove support for non-opaque LLVM pointer typesKT-82127Remove generator-based coroutines intrinsics after bootstrapKT-83992Drop K1 JS entry point and IC codeKT-84684RemoveUserVisibleIrModulesSupportfrom IR linkerKT-85122Deprecate kotlin.io.readLine with WARNINGKT-84970Deprecate AbstractCoroutineContextKey and associated APIKT-85127Remove kotlin.test.assert*NoInline hidden functionsKT-71278Enable Concurrent Mark and Sweep (CMS) GC by defaultKT-84826Bump the minimum deployment version of Apple targetsKT-84615KJS: Forbid@JsStaticon extension functions/propertiesStability.Unknown, except for those explicitly marked as known stableUnknowninstead ofStableAll breaking changes by upgrading org.jetbrains.kotlin:kotlin-stdlib-jdk8 from version 1.9.25 to 2.1.0 (CHANGELOG)
KT-85062Deprecate language version 2.1KT-79663KLIB-based compilers: Promote partial linkage to "always on"KT-76634PL: Don't report warnings in cases that don't lead to runtime errorsKT-72950Partial Linkage: Change the semantics of-Xpartial-linkage-loglevelKT-84714KJS: Forbid exporting properties with context parametersKT-84615KJS: Forbid@JsStaticon extension functions/propertiesKT-82122Prohibit arbitrary placement of type parameters in callable reference LHSKT-84488Export in previous version: Prohibit using on 2nd stageKT-85122Deprecate kotlin.io.readLine with WARNINGKT-84970Deprecate AbstractCoroutineContextKey and associated APIKT-84826Bump the minimum deployment version of Apple targetsKT-71278Enable Concurrent Mark and Sweep (CMS) GC by defaultKT-81433Generate C-interop KLIBs in previous ABI version in Kotlin 2.4.0Stability.Unknown, except for those explicitly marked as known stableUnknowninstead ofStableStability.Runtimemore broadly. Now, when an element depends on the stability of aninternalorpublicclass defined in another file, the element will no longer infer the stability of that class and will depend on the runtime stability of that class instead✅ 19 CVEs resolved by this upgrade, including 1 critical 🚨 CVE
This PR will resolve the following CVEs:
:authoritypseudo-header, enabling request smuggling and tunnel-destination bypass in proxies.Flux.windowTimeoutwith fair backpressure can cause the operator to hang indefinitely on long-lived streams, allowing attackers to exhaust resources through denial of service.Flux.bufferTimeoutwith fair backpressure can cause the stream to hang when upstream items arrive during buffer flushing, leaving items unprocessed. An attacker can exploit this to exhaust subscriptions, resulting in denial of service.🔗 Related Tasks
🤖 Remediation details
Fix transitive and direct dependency CVEs: Netty, Spring Framework, Reactor, and Kotlin stdlib
Short summary
This PR remediates security vulnerabilities in the following packages:
io.netty:netty-handler,io.netty:netty-codec-http2,io.netty:netty-codec-socks,io.netty:netty-codec-http,org.springframework:spring-web,org.springframework:spring-beans,io.projectreactor.netty:reactor-netty-http,io.projectreactor.netty:reactor-netty-core,io.projectreactor:reactor-core, andorg.jetbrains.kotlin:kotlin-stdlib(pluskotlin-stdlib-jdk7/jdk8). All vulnerable packages appear on thecompileClasspathof the:agentsubproject. Fixes were applied toagent/build.gradle(direct version bumps and aconstraintsblock) and to the rootbuild.gradle(Java version floor raised to enable Spring 7.x).io.netty:netty-handler
netty-handleris pulled in transitively throughio.projectreactor.netty:reactor-netty-http(declaredcompileOnlyinagent/build.gradle). Bumpingreactor-netty-httpfrom1.2.1to1.3.7causes Gradle to resolvenetty-handlerat4.2.17.Final, which is above the patched floor of4.1.137.Final. No direct pin was needed.io.netty:netty-codec-http2
netty-codec-http2is a transitive dependency ofio.projectreactor.netty:reactor-netty-http. The same parent bump to1.3.7resolvesnetty-codec-http2at4.2.17.Final, satisfying the patched floor of4.1.138.Final.io.netty:netty-codec-socks
netty-codec-socksis pulled in transitively viareactor-netty-core(itself a dependency ofreactor-netty-http). Bumpingreactor-netty-httpto1.3.7resolvesnetty-codec-socksat4.2.17.Final, above the patched floor of4.1.137.Final.io.netty:netty-codec-http
netty-codec-httpis a transitive dependency ofio.projectreactor.netty:reactor-netty-http. The parent bump to1.3.7resolvesnetty-codec-httpat4.2.17.Final, satisfying the patched floor of4.1.137.Final.io.projectreactor.netty:reactor-netty-http
reactor-netty-httpis declared directly ascompileOnly 'io.projectreactor.netty:reactor-netty-http:1.2.1'inagent/build.gradle. The version was bumped directly to1.3.7, which is the patched release. This single edit also transitively resolves all four vulnerable Netty artifacts above their respective patched floors.io.projectreactor.netty:reactor-netty-core
reactor-netty-coreis a transitive dependency ofreactor-netty-http. Bumpingreactor-netty-httpto1.3.7pulls inreactor-netty-core:1.3.7, satisfying the patched floor of1.3.7.io.projectreactor:reactor-core
reactor-coreis a transitive dependency ofreactor-netty-core, which is itself pulled in byreactor-netty-http. The parent bump ofreactor-netty-httpto1.3.7resolvesreactor-coreat3.8.7, meeting the patched floor of3.8.7.org.springframework:spring-web
spring-webis declared directly ascompileOnly 'org.springframework:spring-web:5.3.20'inagent/build.gradle. The version was bumped to7.0.9to satisfy the patched floor. Spring Framework 7.x requires JVM 17+, so the rootbuild.gradlewas also updated fromJavaVersion.VERSION_16toJavaVersion.VERSION_17(Java 21 is present in the build environment); without this change Gradle's variant selection rejected the artifact outright.org.springframework:spring-beans
spring-beansis a transitive dependency oforg.springframework:spring-web. Bumpingspring-webto7.0.9resolvesspring-beansat7.0.9, satisfying the patched floor of7.0.9.org.jetbrains.kotlin:kotlin-stdlib
kotlin-stdlib(and itsjdk7/jdk8siblings) are pulled in transitively byio.javalin:javalin:6.4.0(declaredcompileOnlyinagent/build.gradle). Bumping javalin to the fixing version would require a major-version jump (6.x → 7.x), which is not permitted. Instead, aconstraintsblock was added inside thedependenciesblock inagent/build.gradle, pinningkotlin-stdlib,kotlin-stdlib-jdk7, andkotlin-stdlib-jdk8each to2.1.0, which satisfies the patched floor. Gradle's constraint mechanism forces the transitive resolution up to2.1.0without altering the javalin declaration.org.jetbrains.kotlin:kotlin-stdlib-jdk7
kotlin-stdlib-jdk7is a transitive dependency ofkotlin-stdlib-jdk8, itself brought in byio.javalin:javalin:6.4.0. The sameconstraintsblock that pinskotlin-stdlibalso pinskotlin-stdlib-jdk7to2.1.0, satisfying the patched floor.org.jetbrains.kotlin:kotlin-stdlib-jdk8
kotlin-stdlib-jdk8is a direct transitive dependency ofio.javalin:javalin:6.4.0. Theconstraintsblock added toagent/build.gradlepins it to2.1.0, satisfying the patched floor.Version changes
io.projectreactor.netty:reactor-netty-http1.2.11.3.7reactor-netty-httpvulnerability; also drives all Netty and Reactor transitive bumps)io.projectreactor.netty:reactor-netty-core1.2.11.3.7reactor-netty-http→1.3.7)io.projectreactor:reactor-core3.7.13.8.7reactor-netty-http→1.3.7)io.netty:netty-handler4.1.115.Final4.2.17.Finalreactor-netty-http→1.3.7)io.netty:netty-codec-http24.1.115.Final4.2.17.Finalreactor-netty-http→1.3.7)io.netty:netty-codec-socks4.1.115.Final4.2.17.Finalreactor-netty-http→1.3.7)io.netty:netty-codec-http4.1.115.Final4.2.17.Finalreactor-netty-http→1.3.7)org.springframework:spring-web5.3.207.0.9spring-webvulnerability)org.springframework:spring-beans5.3.207.0.9spring-web→7.0.9)org.springframework:spring-core5.3.207.0.9spring-web→7.0.9)org.jetbrains.kotlin:kotlin-stdlib1.9.252.1.0javalinmajor bump blocked; public parent)org.jetbrains.kotlin:kotlin-stdlib-jdk71.9.252.1.0javalinmajor bump blocked; public parent)org.jetbrains.kotlin:kotlin-stdlib-jdk81.9.252.1.0javalinmajor bump blocked; public parent)