CVE-2026-85716: AsyncHttpClient doesn't verify SCRAM and Digest mutual-authentication responses
For SCRAM, and for Digest with mutual authentication, the client computes the server’s verification value (the SCRAM ServerSignature, or the Digest rspauth) but does not act on the result. If the value is present and does not verify, the client only logs it and still delivers the response to the application as a successful, authenticated result. A server that never proved knowledge of the shared secret is accepted, so the client loses its ability to detect an impostor. Over TLS the real server always returns a valid value and the issue is inert; it matters over a non TLS transport, or when the transport is already compromised, where it removes the client’s only signal that the peer does not know the secret.
References
- github.com/AsyncHttpClient/async-http-client/commit/10b3db9910f0bbad2ea3dc7c7553bae12bc4a5e4
- github.com/AsyncHttpClient/async-http-client/commit/685173afea07892462071d966ef6ce5c88cbc66f
- github.com/AsyncHttpClient/async-http-client/commit/7fe8700fd5b46c668cee7774624f36b87b9dd32a
- github.com/AsyncHttpClient/async-http-client/pull/2235
- github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-fj9w-c36g-h5x8
- github.com/advisories/GHSA-fj9w-c36g-h5x8
- nvd.nist.gov/vuln/detail/CVE-2026-85716
Code Behaviors & Features
Detect and mitigate CVE-2026-85716 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →