Symptom

Nightly dependency-CVE scan (Kraken) flagged org.apache.httpcomponents:httpclient with GHSA-7r82-7xv7-xcpj (severity: medium; affected range < 4.5.13). No explicit version was pinned, leaving the floor solely in transitive conflict-resolution hands.

Root cause

httpclient was not listed in gradle/libs.versions.toml and no resolutionStrategy floor was applied. Gradle’s conflict-resolution happened to select 4.5.13 (via httpasyncclient:4.1.5 pulled by the AWS SDK), but nothing prevented a future transitive from introducing a vulnerable sub-4.5.13 version undetected.

Fix

Prevention

When a transitive CVE is cleared by Gradle’s existing conflict-resolution (i.e., the resolved version already satisfies the floor), still add an explicit resolutionStrategy floor so any future transitive regression is caught at build time, not discovered by the next CVE scan.