CURL-CVE-2026-92390

Source
https://curl.se/docs/CVE-2026-92390.html
Import Source
https://curl.se/docs/CURL-CVE-2026-92390.json
JSON Data
https://api.osv.dev/v1/vulns/CURL-CVE-2026-92390
Aliases
  • CVE-2026-92390
Published
2026-10-14T08:00:00Z
Modified
2026-10-14T19:02:58Z
Summary
-J no-clobber guarantee bypassed with 103 early hints
Details

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.

Database specific
{
    "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"
}
Credits
    • Joshua Rogers (Aisle Research) - FINDER
    • Joshua Rogers (Aisle Research) - REMEDIATION_DEVELOPER

Affected packages

Git / github.com/curl/curl.git

Affected ranges

Type
SEMVER
Events
Introduced
7.20.0
Fixed
8.14.3
Introduced
8.15.0
Fixed
8.16.2
Introduced
8.17.0
Fixed
8.20.2
Introduced
8.21.0
Fixed
8.23.0
Type
GIT
Repo
https://github.com/curl/curl.git
Events

Affected versions

7.*
7.20.0
7.20.1
7.21.0
7.21.1
7.21.2
7.21.3
7.21.4
7.21.5
7.21.6
7.21.7
7.22.0
7.23.0
7.23.1
7.24.0
7.25.0
7.26.0
7.27.0
7.28.0
7.28.1
7.29.0
7.30.0
7.31.0
7.32.0
7.33.0
7.34.0
7.35.0
7.36.0
7.37.0
7.37.1
7.38.0
7.39.0
7.40.0
7.41.0
7.42.0
7.42.1
7.43.0
7.44.0
7.45.0
7.46.0
7.47.0
7.47.1
7.48.0
7.49.0
7.49.1
7.50.0
7.50.1
7.50.2
7.50.3
7.51.0
7.52.0
7.52.1
7.53.0
7.53.1
7.54.0
7.54.1
7.55.0
7.55.1
7.56.0
7.56.1
7.57.0
7.58.0
7.59.0
7.60.0
7.61.0
7.61.1
7.62.0
7.63.0
7.64.0
7.64.1
7.65.0
7.65.1
7.65.2
7.65.3
7.66.0
7.67.0
7.68.0
7.69.0
7.69.1
7.70.0
7.71.0
7.71.1
7.72.0
7.73.0
7.74.0
7.75.0
7.76.0
7.76.1
7.77.0
7.78.0
7.79.0
7.79.1
7.80.0
7.81.0
7.82.0
7.83.0
7.83.1
7.84.0
7.85.0
7.86.0
7.87.0
7.88.0
7.88.1
8.*
8.0.0
8.0.1
8.1.0
8.1.1
8.1.2
8.10.0
8.10.1
8.11.0
8.11.1
8.12.0
8.12.1
8.13.0
8.14.0
8.14.1
8.15.0
8.16.0
8.17.0
8.18.0
8.19.0
8.2.0
8.2.1
8.20.0
8.21.0
8.22.0
8.3.0
8.4.0
8.5.0
8.6.0
8.7.0
8.7.1
8.8.0
8.9.0
8.9.1
Other
curl-7_20_0
curl-7_20_1
curl-7_21_0
curl-7_21_1
curl-7_21_2
curl-7_21_3
curl-7_21_4
curl-7_21_5
curl-7_21_6
curl-7_21_7
curl-7_22_0
curl-7_23_0
curl-7_23_1
curl-7_24_0
curl-7_25_0
curl-7_26_0
curl-7_27_0
curl-7_28_0
curl-7_28_1
curl-7_29_0
curl-7_30_0
curl-7_31_0
curl-7_32_0
curl-7_33_0
curl-7_34_0
curl-7_35_0
curl-7_36_0
curl-7_37_0
curl-7_37_1
curl-7_38_0
curl-7_39_0
curl-7_40_0
curl-7_41_0
curl-7_42_0
curl-7_42_1
curl-7_43_0
curl-7_44_0
curl-7_45_0
curl-7_46_0
curl-7_47_0
curl-7_47_1
curl-7_48_0
curl-7_49_0
curl-7_49_1
curl-7_50_0
curl-7_50_1
curl-7_50_2
curl-7_50_3
curl-7_51_0
curl-7_52_0
curl-7_52_1
curl-7_53_0
curl-7_53_1
curl-7_54_0
curl-7_54_1
curl-7_55_0
curl-7_55_1
curl-7_56_0
curl-7_56_1
curl-7_57_0
curl-7_58_0
curl-7_59_0
curl-7_60_0
curl-7_61_0
curl-7_61_1
curl-7_62_0
curl-7_63_0
curl-7_64_0
curl-7_64_1
curl-7_65_0
curl-7_65_1
curl-7_65_2
curl-7_65_3
curl-7_66_0
curl-7_67_0
curl-7_68_0
curl-7_69_0
curl-7_69_1
curl-7_70_0
curl-7_71_0
curl-7_71_1
curl-7_72_0
curl-7_73_0
curl-7_74_0
curl-7_75_0
curl-7_76_0
curl-7_76_1
curl-7_77_0
curl-7_78_0
curl-7_79_0
curl-7_79_1
curl-7_80_0
curl-7_81_0
curl-7_82_0
curl-7_83_0
curl-7_83_1
curl-7_84_0
curl-7_85_0
curl-7_86_0
curl-7_87_0
curl-7_88_0
curl-7_88_1
curl-8_0_0
curl-8_0_1
curl-8_10_0
curl-8_10_1
curl-8_11_0
curl-8_11_1
curl-8_12_0
curl-8_12_1
curl-8_13_0
curl-8_14_0
curl-8_14_1
curl-8_15_0
curl-8_16_0
curl-8_17_0
curl-8_18_0
curl-8_19_0
curl-8_1_0
curl-8_1_1
curl-8_1_2
curl-8_20_0
curl-8_21_0
curl-8_22_0
curl-8_2_0
curl-8_2_1
curl-8_3_0
curl-8_4_0
curl-8_5_0
curl-8_6_0
curl-8_7_0
curl-8_7_1
curl-8_8_0
curl-8_9_0
curl-8_9_1
rc-8_18_0-1
rc-8_18_0-2
rc-8_18_0-3
rc-8_19_0-1
rc-8_19_0-2
rc-8_19_0-3
rc-8_20_0-1
rc-8_20_0-2
rc-8_20_0-3
rc-8_21_0-1
rc-8_21_0-2
rc-8_21_0-3
rc-8_22_0-1
rc-8_22_0-2
rc-8_22_0-3
tiny-curl-7_72_0
tiny-curl-8_4_0

Database specific

source
"https://curl.se/docs/CURL-CVE-2026-92390.json"
vanir_signatures
[
    {
        "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"
        }
    }
]
vanir_signatures_modified
"2026-10-14T19:02:58Z"