{"schemaVersion":3,"id":"CVE-2026-40490","aliases":["UBUNTU-CVE-2026-40490","DEBIAN-CVE-2026-40490","CGA-29v5-v8p4-j8j6","CGA-48ww-mccp-q4w9","CGA-7xhr-hc52-6p33","CGA-h546-6pvm-v6vv","CGA-mfjq-4j43-g74h","CGA-mx66-8mjq-p7hc","CGA-wvww-mq34-h744","CGA-x3w3-24mr-gx52","CGA-29r5-g7wf-7pw8","CGA-2hq3-35fm-pprq","CGA-5483-h5m3-6jmh","CGA-8994-q849-c84f","CGA-8cqv-7cv4-vxjp","CGA-grgp-5gcc-w9qh","CGA-mxr4-m486-f49w","CGA-p2pm-2qqf-5f3x","GHSA-cmxv-58fp-fm3g","CGA-qc2g-c5r2-55fr","CGA-rq7r-9r7x-g32j","CGA-v36f-3v9j-xrhv","CGA-wpcm-r8hg-x6h4"],"status":"published","duplicateOf":null,"title":null,"description":"The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. When redirect following is enabled (followRedirect(true)), versions of AsyncHttpClient prior to 3.0.9 and 2.14.5 forward Authorization and Proxy-Authorization headers along with Realm credentials to arbitrary redirect targets regardless of domain, scheme, or port changes. This leaks credentials on cross-domain redirects and HTTPS-to-HTTP downgrades. Additionally, even when stripAuthorizationOnRedirect is set to true, the Realm object containing plaintext credentials is still propagated to the redirect request, causing credential re-generation for Basic and Digest authentication schemes via NettyRequestFactory. An attacker who controls a redirect target (via open redirect, DNS rebinding, or MITM on HTTP) can capture Bearer tokens, Basic auth credentials, or any other Authorization header value. The fix in versions 3.0.9 and 2.14.5 automatically strips Authorization and Proxy-Authorization headers and clears Realm credentials whenever a redirect crosses origin boundaries (different scheme, host, or port) or downgrades from HTTPS to HTTP. For users unable to upgrade, set `(stripAuthorizationOnRedirect(true))` in the client config and avoid using Realm-based authentication with redirect following enabled. Note that `(stripAuthorizationOnRedirect(true))` alone is insufficient on versions prior to 3.0.9 and 2.14.5 because the Realm bypass still re-generates credentials. Alternatively, disable redirect following (`followRedirect(false)`) and handle redirects manually with origin validation.","dates":{"published":"2026-04-18T01:31:13.860Z","modified":"2026-04-20T14:55:50.254Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.8,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":6.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","exploitability":5.6,"impact":6.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":6.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","exploitability":5.6,"impact":6.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Wolfi","score":6.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","exploitability":5.6,"impact":6.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":6.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","exploitability":5.6,"impact":6.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Maven","score":6.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","exploitability":5.6,"impact":6.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00481,"percentile":0.40189,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.15500000000000003,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00326},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00481,"percentile":0.40189}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00326,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00481,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00481,"percentile":0.40189}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-200","name":"Exposure of Sensitive Information to an Unauthorized Actor","description":"The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/200.html"}],"affected":[{"vendor":"chainguard","product":"apache-pulsar-4.0","name":"apache-pulsar-4.0","label":"apache-pulsar-4.0","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/apache-pulsar-4.0","purlType":"apk","versions":[{"text":"< 4.0.9-r13","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.0.9-r13","eol":null,"hubHref":null},{"vendor":"chainguard","product":"apache-pulsar-4.1","name":"apache-pulsar-4.1","label":"apache-pulsar-4.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/apache-pulsar-4.1","purlType":"apk","versions":[{"text":"< 4.1.3-r16","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.1.3-r16","eol":null,"hubHref":null},{"vendor":"chainguard","product":"apache-pulsar-4.2","name":"apache-pulsar-4.2","label":"apache-pulsar-4.2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/apache-pulsar-4.2","purlType":"apk","versions":[{"text":"< 4.2.1-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.2.1-r0","eol":null,"hubHref":null},{"vendor":"chainguard","product":"apache-pulsar-fips-4.0","name":"apache-pulsar-fips-4.0","label":"apache-pulsar-fips-4.0","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/apache-pulsar-fips-4.0","purlType":"apk","versions":[{"text":"< 4.0.9-r14","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.0.9-r14","eol":null,"hubHref":null},{"vendor":"chainguard","product":"apache-pulsar-fips-4.1","name":"apache-pulsar-fips-4.1","label":"apache-pulsar-fips-4.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/apache-pulsar-fips-4.1","purlType":"apk","versions":[{"text":"< 4.1.3-r13","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.1.3-r13","eol":null,"hubHref":null},{"vendor":"chainguard","product":"apache-pulsar-fips-4.2","name":"apache-pulsar-fips-4.2","label":"apache-pulsar-fips-4.2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/apache-pulsar-fips-4.2","purlType":"apk","versions":[{"text":"< 4.2.1-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.2.1-r0","eol":null,"hubHref":null},{"vendor":"chainguard","product":"druid","name":"druid","label":"druid","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/druid","purlType":"apk","versions":[{"text":"< 36.0.0-r15","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 36.0.0-r15","eol":null,"hubHref":null},{"vendor":"chainguard","product":"pinot","name":"pinot","label":"pinot","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/pinot","purlType":"apk","versions":[{"text":"< 1.5.0-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.5.0-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"pinot-fips","name":"pinot-fips","label":"pinot-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/pinot-fips","purlType":"apk","versions":[{"text":"< 1.5.0-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.5.0-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"tez","name":"tez","label":"tez","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/tez","purlType":"apk","versions":[{"text":"< 0.10.5-r11","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.10.5-r11","eol":null,"hubHref":null},{"vendor":"wolfi","product":"apache-pulsar-4.1","name":"apache-pulsar-4.1","label":"apache-pulsar-4.1","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/apache-pulsar-4.1","purlType":"apk","versions":[{"text":"< 4.1.3-r16","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.1.3-r16","eol":null,"hubHref":null},{"vendor":"wolfi","product":"apache-pulsar-4.2","name":"apache-pulsar-4.2","label":"apache-pulsar-4.2","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/apache-pulsar-4.2","purlType":"apk","versions":[{"text":"< 4.2.1-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.2.1-r0","eol":null,"hubHref":null},{"vendor":"wolfi","product":"druid","name":"druid","label":"druid","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/druid","purlType":"apk","versions":[{"text":"< 36.0.0-r15","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 36.0.0-r15","eol":null,"hubHref":null},{"vendor":"wolfi","product":"tez","name":"tez","label":"tez","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/tez","purlType":"apk","versions":[{"text":"< 0.10.5-r11","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.10.5-r11","eol":null,"hubHref":null},{"vendor":"asynchttpclient","product":"async-http-client","name":"async-http-client","label":"async-http-client","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 3.0.0.Beta1, < 3.0.9","noFixRecorded":false,"fixedIn":null},{"text":"< 2.14.5","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.0.0.Beta1, < 3.0.9 | < 2.14.5","eol":null,"hubHref":"/vendor/asynchttpclient/async-http-client"},{"vendor":"debian","product":"async-http-client","name":"async-http-client","label":"async-http-client","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/async-http-client","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"async-http-client","name":"async-http-client","label":"async-http-client","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/async-http-client","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"org.asynchttpclient","product":"async-http-client","name":"org.asynchttpclient:async-http-client","label":"async-http-client","ecosystem":"Maven","cpePart":null,"purl":"pkg:maven/org.asynchttpclient/async-http-client","purlType":"maven","versions":[{"text":"≥ 3.0.0.Beta1, < 3.0.9","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.0.0, < 2.14.5","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.0.0.Beta1, < 3.0.9 | ≥ 2.0.0, < 2.14.5","eol":null,"hubHref":null}],"affectedCount":18,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-cmxv-58fp-fm3g","label":"github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-cmxv-58fp-fm3g","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","Advisory","WEB"]},{"url":"https://github.com/AsyncHttpClient/async-http-client/commit/6b2fbb7f8","label":"github.com/AsyncHttpClient/async-http-client/commit/6b2fbb7f8","hostname":"github.com","tags":["X Refsource MISC","FIX","WEB"]},{"url":"https://github.com/AsyncHttpClient/async-http-client/commit/ae557ad35246721c09dafb2976609cd0004e78ae","label":"github.com/AsyncHttpClient/async-http-client/commit/ae557ad35246721c09dafb2976609cd0004e78ae","hostname":"github.com","tags":["X Refsource MISC","FIX","WEB"]},{"url":"https://github.com/AsyncHttpClient/async-http-client/releases/tag/async-http-client-project-2.14.5","label":"github.com/AsyncHttpClient/async-http-client/releases/tag/async-http-client-project-2.14.5","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://github.com/AsyncHttpClient/async-http-client/releases/tag/async-http-client-project-3.0.9","label":"github.com/AsyncHttpClient/async-http-client/releases/tag/async-http-client-project-3.0.9","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://ubuntu.com/security/CVE-2026-40490","label":"ubuntu.com/security/CVE-2026-40490","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-40490","label":"www.cve.org/CVERecord?id=CVE-2026-40490","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-40490","label":"security-tracker.debian.org/tracker/CVE-2026-40490","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/40xxx/CVE-2026-40490.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2026/40xxx/CVE-2026-40490.json","hostname":"github.com","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-40490","label":"nvd.nist.gov/vuln/detail/CVE-2026-40490","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/AsyncHttpClient/async-http-client","label":"github.com/AsyncHttpClient/async-http-client","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":["CGA-7WMQ-V4GF-C3V4"]},"timeline":[{"kind":"published","date":"2026-04-18T01:31:13.860Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-04-20T14:55:50.254Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":27,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T16:54:37.420Z","stale":false,"partial":false}}