CVE-2026-87863
Full vulnerability record from the local CVENow database.
Description
An authenticated HTTPS origin can supply an HSTS `max-age` value that the parser accepts, but time serialization later fails to process. On 64-bit systems, extreme max-age values compute an absolute expiry within standard time integer limits that exceeds calendar time structure bounds. During cache saves, the original HSTS file is truncated before writing a temporary replacement; when serialization fails, the temporary file is deleted, leaving an empty or partial cache. Because the save error is silently ignored during cleanup, curl exits successfully despite the data loss.
Severity
HIGH
CVSS score
8.1
(v3.1)
Vulnerability status
Awaiting Analysis
Source identifier
2499f714-1537-4658-8207-48ae4bb9eae9
Published
2026-10-20 21:17:20.380000
Last modified
2026-10-30 12:16:45.957000
View original CVE JSON
{
"id": "CVE-2026-87863",
"sourceIdentifier": "2499f714-1537-4658-8207-48ae4bb9eae9",
"published": "2026-10-20T21:17:20.380",
"lastModified": "2026-10-30T12:16:45.957",
"vulnStatus": "Awaiting Analysis",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "An authenticated HTTPS origin can supply an HSTS `max-age` value that the\nparser accepts, but time serialization later fails to process. On 64-bit\nsystems, extreme max-age values compute an absolute expiry within standard\ntime integer limits that exceeds calendar time structure bounds. During cache\nsaves, the original HSTS file is truncated before writing a temporary\nreplacement; when serialization fails, the temporary file is deleted, leaving\nan empty or partial cache. Because the save error is silently ignored during\ncleanup, curl exits successfully despite the data loss."
}
],
"affected": [
{
"source": "2499f714-1537-4658-8207-48ae4bb9eae9",
"affectedData": [
{
"vendor": "curl",
"product": "curl",
"defaultStatus": "unaffected",
"versions": [
{
"version": "8.22.0",
"lessThanOrEqual": "8.22.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.21.0",
"lessThanOrEqual": "8.21.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.20.0",
"lessThanOrEqual": "8.20.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.19.0",
"lessThanOrEqual": "8.19.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.18.0",
"lessThanOrEqual": "8.18.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.17.0",
"lessThanOrEqual": "8.17.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.16.0",
"lessThanOrEqual": "8.16.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.15.0",
"lessThanOrEqual": "8.15.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.14.1",
"lessThanOrEqual": "8.14.1",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.14.0",
"lessThanOrEqual": "8.14.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.13.0",
"lessThanOrEqual": "8.13.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.12.1",
"lessThanOrEqual": "8.12.1",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.12.0",
"lessThanOrEqual": "8.12.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.11.1",
"lessThanOrEqual": "8.11.1",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.11.0",
"lessThanOrEqual": "8.11.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.10.1",
"lessThanOrEqual": "8.10.1",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.10.0",
"lessThanOrEqual": "8.10.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.9.1",
"lessThanOrEqual": "8.9.1",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.9.0",
"lessThanOrEqual": "8.9.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.8.0",
"lessThanOrEqual": "8.8.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.7.1",
"lessThanOrEqual": "8.7.1",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.7.0",
"lessThanOrEqual": "8.7.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.6.0",
"lessThanOrEqual": "8.6.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.5.0",
"lessThanOrEqual": "8.5.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.4.0",
"lessThanOrEqual": "8.4.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.3.0",
"lessThanOrEqual": "8.3.0",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.2.1",
"lessThanOrEqual": "8.2.1",
"versionType": "semver",
"status": "affected"
},
{
"version": "8.2.0",
"lessThanOrEqual": "8.2.0",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 8.1,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.2,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-10-30T12:03:50.833294Z",
"id": "CVE-2026-87863",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-201"
}
]
}
],
"references": [
{
"url": "https://curl.se/docs/CVE-2026-87863.html",
"source": "2499f714-1537-4658-8207-48ae4bb9eae9"
},
{
"url": "https://curl.se/docs/CVE-2026-87863.json",
"source": "2499f714-1537-4658-8207-48ae4bb9eae9"
},
{
"url": "https://hackerone.com/reports/3972373",
"source": "2499f714-1537-4658-8207-48ae4bb9eae9"
},
{
"url": "https://hackerone.com/reports/3972373",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
]
}