When invoked with --remote-header-name (-J), curl fails to preserve its
documented anti-clobbering protection if an intermediate 103 Early Hints
response precedes the final HTTP response, or if an ETag header is processed
before Content-Disposition under --etag-save. This flaw allows an HTTP(S)
server to overwrite an existing local file specified in the
Content-Disposition header despite the presence of the -J non-overwrite
constraint.
{
"CWE": {
"desc": "External Control of File Name or Path",
"id": "CWE-73"
},
"URL": "https://curl.se/docs/CVE-2026-92390.json",
"affects": "tool",
"issue": "https://hackerone.com/reports/4023192",
"last_affected": "8.22.0",
"package": "curl",
"severity": "Low",
"www": "https://curl.se/docs/CVE-2026-92390.html"
}"https://curl.se/docs/CURL-CVE-2026-92390.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "104538640177228002104381746305171789304",
"length": 2733
},
"id": "CURL-CVE-2026-92390-717b2868",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/curl/curl.git/commit/c24a69d8cd368de4e25e3540bf0b7b000a31d5a7",
"target": {
"file": "src/tool_cb_hdr.c",
"function": "tool_header_cb"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"56625630847247755474641570119930317790",
"192609957726878363761697722292367128214",
"331534358526318500800823444149036054642",
"290509172786009324978158945078031987633",
"11844449138214139973306489354937265145",
"253473252766013549943245880170921094437",
"202204330114058207141729360427148773254",
"257267859454214662956680405560179925966",
"56969872246973254145504105120644650083",
"160257176376115370419266619600459421769",
"188846791705092517717976284761966899380",
"319258656588381804691978694917901262618",
"192319299345959065458871778213798317609",
"103981999110829506246671512451652202608",
"174530675156536411226268225140824476032",
"14490099937154609839262405372871982835",
"190910263570118054384286993947432721763",
"194133414471401080219797361972874380655",
"45251492984197769370776618488908653254",
"221564451453053346020374288403250989954",
"46951997837458350985785282690742073015",
"209267788295067765120971530107813560536",
"50136456789895569755223963229805693518",
"257799884695220457845980752219324213236",
"59899815282851116231932635710767466803",
"148802193116948078874496762375657620379",
"199042803692433659754377479097133265992",
"321190674408975445879062130064227512261",
"336226452560599177123155328646707018507",
"283834200800881283979833816426292374219",
"276423183554408482044317004443434361989",
"26719531417099286106379973649252078620",
"167432395912923818005207014072826468582"
],
"threshold": 0.9
},
"id": "CURL-CVE-2026-92390-a60c4535",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/curl/curl.git/commit/c24a69d8cd368de4e25e3540bf0b7b000a31d5a7",
"target": {
"file": "src/tool_cb_hdr.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "150322471160417726834692125405677719906",
"length": 2074
},
"id": "CURL-CVE-2026-92390-d1bdd6bd",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/curl/curl.git/commit/c24a69d8cd368de4e25e3540bf0b7b000a31d5a7",
"target": {
"file": "src/tool_cb_hdr.c",
"function": "content_disposition"
}
}
]
"2026-10-14T19:02:58Z"