CVE-2026-54147
http4k: `DigestAuthProvider.verify` ignored configured algorithm and did not bind to request URI
http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.50.0.0, DigestAuthProvider.verify in http4k-security-digest ignores its configured algorithm parameter and verifies every Digest response with hardcoded MD5. Deployments configured for SHA-256 therefore receive weaker MD5-based verification, exposing Digest authentication to collision-related attack paths that depend on the hash function's collision resistance. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.50.0.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.5
http4k: `DigestAuthProvider.verify` ignored configured algorithm and did not bind to request URI
http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.50.0.0, DigestAuthProvider.verify in http4k-security-digest ignores its configured algorithm parameter and verifies every Digest response with hardcoded MD5. Deployments configured for SHA-256 therefore receive weaker MD5-based verification, exposing Digest authentication to collision-related attack paths that depend on the hash function's collision resistance. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.50.0.0.
- Record
CVE-2026-54147- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-327
- Updated
- 2026-11-02
EUVDEUVD-2026-83042
6.5
http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.50.0.0, DigestAuthProvider.verify in http4k-security-digest ignores its configured algorithm parameter and verifies every Digest response with hardcoded MD5. Deployments configured for SHA-256 therefore receive weaker MD5-based verification, exposing Digest authentication to collision-related attack paths that depend on the hash function's collision resistance. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.50.0.0.
- Record
EUVD-2026-83042- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-vxxm-wwqh-mh47
6.5
http4k: `DigestAuthProvider.verify` ignored configured algorithm and did not bind to request URI
Impact
An issue in DigestAuthProvider.verify:
Algorithm silently forced to MD5. The configured algorithm parameter was ignored — every verification used MD5 regardless of configuration. Deployments believing they were running SHA-256 Digest auth were silently inheriting MD5's collision weaknesses, including documented attack paths against Digest schemes that rely on the hash being collision-resistant.
Who is affected: any application using http4k-security-digest for HTTP Digest authentication. The bug has been present since DigestAuthProvider was introduced (commit 8a52b615b1, 2021).
Patches
| Line | Fixed in | Edition | |------|----------|---------| | v6.x (Community) | 6.50.0.0 | Community | | v5.x (LTS) | 5.42.0.0 | Enterprise — contact [email protected] (if Digest auth is present in your v5.x line) | | v4.x (LTS) | 4.51.0.0 | Enterprise — contact [email protected] (if Digest auth is present in your v4.x line) |
The fix:
- Hashes with the configured
algorithminstead of hardcoded MD5.
Workarounds
For deployments that cannot upgrade immediately:
- Algorithm gap: do not rely on
algorithmconfiguration; assume MD5 is in use and treat the Digest credentials as low-trust.
References
- Vulnerability first present:
8a52b615b1 - Algorithm fix:
65d23d99fc - Fix release: v6.50.0.0
- Background: RFC 7616 — HTTP Digest Access Authentication
- Record
GHSA-vxxm-wwqh-mh47- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-327
- Updated
- 2026-11-02
NVD
6.5
http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.50.0.0, DigestAuthProvider.verify in http4k-security-digest ignores its configured algorithm parameter and verifies every Digest response with hardcoded MD5. Deployments configured for SHA-256 therefore receive weaker MD5-based verification, exposing Digest authentication to collision-related attack paths that depend on the hash function's collision resistance. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.50.0.0.
- Record
CVE-2026-54147- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-327
- Updated
- 2026-11-02
OSV
6.5
http4k: `DigestAuthProvider.verify` ignored configured algorithm and did not bind to request URI
http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.50.0.0, DigestAuthProvider.verify in http4k-security-digest ignores its configured algorithm parameter and verifies every Digest response with hardcoded MD5. Deployments configured for SHA-256 therefore receive weaker MD5-based verification, exposing Digest authentication to collision-related attack paths that depend on the hash function's collision resistance. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.50.0.0.
- Record
CVE-2026-54147- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-327
- Updated
- 2026-11-02
OSVGHSA-vxxm-wwqh-mh47
6.5
http4k: `DigestAuthProvider.verify` ignored configured algorithm and did not bind to request URI
Impact
An issue in DigestAuthProvider.verify:
Algorithm silently forced to MD5. The configured algorithm parameter was ignored — every verification used MD5 regardless of configuration. Deployments believing they were running SHA-256 Digest auth were silently inheriting MD5's collision weaknesses, including documented attack paths against Digest schemes that rely on the hash being collision-resistant.
Who is affected: any application using http4k-security-digest for HTTP Digest authentication. The bug has been present since DigestAuthProvider was introduced (commit 8a52b615b1, 2021).
Patches
| Line | Fixed in | Edition | |------|----------|---------| | v6.x (Community) | 6.50.0.0 | Community | | v5.x (LTS) | 5.42.0.0 | Enterprise — contact [email protected] (if Digest auth is present in your v5.x line) | | v4.x (LTS) | 4.51.0.0 | Enterprise — contact [email protected] (if Digest auth is present in your v4.x line) |
The fix:
- Hashes with the configured
algorithminstead of hardcoded MD5.
Workarounds
For deployments that cannot upgrade immediately:
- Algorithm gap: do not rely on
algorithmconfiguration; assume MD5 is in use and treat the Digest credentials as low-trust.
References
- Vulnerability first present:
8a52b615b1 - Algorithm fix:
65d23d99fc - Fix release: v6.50.0.0
- Background: RFC 7616 — HTTP Digest Access Authentication
- Record
GHSA-vxxm-wwqh-mh47- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N - Weakness
- CWE-327
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.http4k:http4k-security-digestMaven |
5.0.0.0 up to 5.42.0.0 | 5.42.0.0 |
org.http4k:http4k-security-digestMaven |
through 4.48.2.0 | None known |
org.http4k:http4k-security-digestMaven |
6.0.0.0 up to 6.50.0.0 | 6.50.0.0 |
org.http4k:http4k-security-digestMaven |
6.0.0.0 up to 6.50.0.0, plus listed versions 6.0.1.06.1.0.06.1.0.16.10.0.06.10.1.0 Show 45 moreShow less6.10.2.06.11.0.06.11.1.06.12.0.06.13.0.06.14.0.06.15.0.06.15.0.16.15.1.06.16.0.06.17.0.06.18.0.16.18.1.06.19.0.06.2.0.06.20.0.06.20.0.16.20.0.26.20.0.36.20.1.06.20.2.06.20.2.16.21.0.06.21.1.06.22.0.06.23.0.06.23.1.06.24.0.06.24.1.06.25.0.06.25.1.06.26.0.06.26.1.06.27.0.06.28.0.06.28.1.06.29.0.06.30.0.06.30.1.06.31.0.06.31.1.06.32.0.06.33.0.06.34.0.06.35.0.0 |
6.50.0.0 |
org.http4k:http4k-security-digestMaven |
5.0.0.0 up to 5.42.0.0, plus listed versions 5.1.0.05.1.1.05.1.1.15.1.2.05.1.2.1 Show 45 moreShow less5.10.0.05.10.1.05.10.2.05.10.3.05.10.4.05.10.5.05.10.6.05.10.7.05.11.0.05.11.1.05.12.0.05.12.1.05.12.2.05.12.2.15.13.0.05.13.0.15.13.1.05.13.2.05.13.4.05.13.4.15.13.5.05.13.6.05.13.6.15.13.7.05.13.8.05.13.9.05.14.0.05.14.1.05.14.2.05.14.4.05.14.5.05.15.0.05.16.0.05.16.1.05.16.2.05.17.0.05.18.1.05.18.2.05.19.0.05.2.0.05.2.1.05.20.0.05.21.0.05.21.1.05.21.2.0 |
5.42.0.0 |
org.http4k:http4k-security-digestMaven |
through 4.48.2.0, plus listed versions 4.10.0.0.04.10.0.14.10.1.04.11.0.04.11.0.1 Show 45 moreShow less4.12.0.04.12.0.14.12.1.04.12.2.04.12.3.04.12.3.14.13.0.04.13.1.04.13.3.04.13.4.04.14.0.04.14.1.04.14.1.14.14.1.24.14.1.34.14.1.44.15.0.04.16.0.04.16.1.04.16.2.04.16.3.04.17.0.04.17.1.04.17.2.04.17.3.04.17.4.04.17.5.04.17.6.04.17.7.04.17.8.04.17.9.04.18.0.04.19.0.04.19.1.04.19.2.04.19.3.04.19.4.04.19.5.04.20.0.04.20.1.04.20.2.04.21.0.04.21.1.04.21.1.14.22.0.0 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-54147 is a medium vulnerability (CVSS 6.5) in Http4k, published August 17, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.26%, the 17th percentile. Fixed in org.http4k:http4k-security-digest 5.42.0.0.
References
github.com/http4k/http4k/security/advisories/GHSA-vxxm-wwqh-mh47
github.com/http4k/http4k/commit/65d23d99fc5afbe34f29d8f61d0a003fbebb381c
github.com/http4k/http4k/releases/tag/6.50.0.0
github.com/http4k/http4k/commit/65d23d99fc
github.com/advisories/GHSA-vxxm-wwqh-mh47
github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54147.json
nvd.nist.gov/vuln/detail/CVE-2026-54147
github.com/http4k/http4k
Left out here: 206 versions. The JSON record has them.