GHSA-Q6GH-6V2R-HJV3
Vulnerability from github – Published: 2026-07-09 13:36 – Updated: 2026-07-09 13:36Impact
DefaultHttpClient follows redirects and forwards Authorization, Cookie, and Proxy-Authorization headers to redirect targets across domain boundaries. The blocklist only filters Host/Connection/TE/CT/CL. Additionally, no maximum redirect count exists, enabling infinite loop DoS. Affected: DefaultHttpClient.java lines 231-245, 1591, 2071
Suggested fix: Strip sensitive headers on cross-domain redirects
Patches
It has been patched for versions:
For Micronaut 5, versions equal or greater than 5.0.1 >= For Micronaut 4, versions equal or greater than 4.10.24 >= For Micronaut 3, versions equal or greater than 3.10.6 >=
Workarounds
No
References
Micronaut 5 Patch: https://github.com/micronaut-projects/micronaut-core/commit/9770328999f490bdfbb9e25addd45bf73d4a173a Micronaut 4 Patch: https://github.com/micronaut-projects/micronaut-core/commit/70cab4b44fbf985faba2846091f2356b5bd70719 Micronaut 3 Patch: https://github.com/micronaut-projects/micronaut-core/commit/64e539736b8168f201d868b02ace50fe14f57418
{
"affected": [
{
"package": {
"ecosystem": "Maven",
"name": "io.micronaut:micronaut-http-client"
},
"ranges": [
{
"events": [
{
"introduced": "1.2.8"
},
{
"fixed": "3.10.6"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Maven",
"name": "io.micronaut:micronaut-http-client"
},
"ranges": [
{
"events": [
{
"introduced": "4.0.0-M1"
},
{
"fixed": "4.10.24"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Maven",
"name": "io.micronaut:micronaut-http-client"
},
"ranges": [
{
"events": [
{
"introduced": "5.0.0-M1"
},
{
"fixed": "5.0.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [],
"github_reviewed": true,
"github_reviewed_at": "2026-07-09T13:36:56Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "### Impact\n\n\u003e DefaultHttpClient follows redirects and forwards Authorization, Cookie, and Proxy-Authorization headers to redirect targets across domain boundaries. The blocklist only filters Host/Connection/TE/CT/CL.\n\u003e Additionally, no maximum redirect count exists, enabling infinite loop DoS.\n\u003e Affected: DefaultHttpClient.java lines 231-245, 1591, 2071\n\n\u003e Suggested fix: Strip sensitive headers on cross-domain redirects\n\n### Patches\nIt has been patched for versions: \n\nFor Micronaut 5, versions equal or greater than 5.0.1 \u003e=\nFor Micronaut 4, versions equal or greater than 4.10.24 \u003e=\nFor Micronaut 3, versions equal or greater than 3.10.6 \u003e=\n\n### Workarounds\nNo\n\n### References\nMicronaut 5 Patch: https://github.com/micronaut-projects/micronaut-core/commit/9770328999f490bdfbb9e25addd45bf73d4a173a\nMicronaut 4 Patch: https://github.com/micronaut-projects/micronaut-core/commit/70cab4b44fbf985faba2846091f2356b5bd70719\nMicronaut 3 Patch: https://github.com/micronaut-projects/micronaut-core/commit/64e539736b8168f201d868b02ace50fe14f57418",
"id": "GHSA-q6gh-6v2r-hjv3",
"modified": "2026-07-09T13:36:56Z",
"published": "2026-07-09T13:36:56Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/micronaut-projects/micronaut-core/security/advisories/GHSA-q6gh-6v2r-hjv3"
},
{
"type": "WEB",
"url": "https://github.com/micronaut-projects/micronaut-core/commit/64e539736b8168f201d868b02ace50fe14f57418"
},
{
"type": "WEB",
"url": "https://github.com/micronaut-projects/micronaut-core/commit/70cab4b44fbf985faba2846091f2356b5bd70719"
},
{
"type": "WEB",
"url": "https://github.com/micronaut-projects/micronaut-core/commit/9770328999f490bdfbb9e25addd45bf73d4a173a"
},
{
"type": "PACKAGE",
"url": "https://github.com/micronaut-projects/micronaut-core"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "Micronaut: DefaultHttpClient follows redirects, forwarding Authorization, Cookie, and Proxy-Authorization headers"
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.