CVE-2026-87863: HSTS response erases persisted entries

Published Oct 14, 2026
·
Updated

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.

Affected Software

9 affected componentsFixes available
curl curl
alpine/curl<8.23.0-r0
8.23.0-r0
alpine/curl<8.23.0-r0
8.23.0-r0
debian/curl*
debian/curl*
debian/curl<=8.14.1-2+deb13u5, <=8.14.1-2+deb13u7, <=8.22.0-1
7.88.1-10+deb12u157.88.1-10+deb12u58.23.0-1
ubuntu/curl<8.5.0-2ubuntu10.16
8.5.0-2ubuntu10.16
ubuntu/curl<8.20.0-2ubuntu11.1
8.20.0-2ubuntu11.1
ubuntu/curl<8.18.0-1ubuntu2.8
8.18.0-1ubuntu2.8

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade alpine/curl to a version that resolves this vulnerability.

    Fixed in 8.23.0-r0
  2. Upgrade

    Upgrade debian/curl to a version that resolves this vulnerability.

    Fixed in 7.88.1-10+deb12u15Fixed in 7.88.1-10+deb12u5Fixed in 8.23.0-1
  3. Upgrade

    Upgrade ubuntu/curl to a version that resolves this vulnerability.

    Fixed in 8.5.0-2ubuntu10.16
  4. Upgrade

    Upgrade ubuntu/curl to a version that resolves this vulnerability.

    Fixed in 8.20.0-2ubuntu11.1
  5. Upgrade

    Upgrade ubuntu/curl to a version that resolves this vulnerability.

    Fixed in 8.18.0-1ubuntu2.8

Event History

Oct 14, 2026
CVE Published
via OSV·06:00 AM
Data Sourced
via OSV·06:00 AM
DescriptionSeverityAffected Software
Oct 20, 2026
CVE Published
via MITRE·08:13 PM
Data Sourced
via MITRE·08:13 PM
DescriptionWeakness
Data Sourced
via NVD·09:17 PM
DescriptionSeverityWeakness
Oct 23, 2026
Data Sourced
via Microsoft·08:03 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What conditions are required to trigger the cache loss?

An attacker-controlled or otherwise untrusted authenticated HTTPS origin must be able to send an HSTS header with an extreme max-age value that curl accepts. The issue applies on 64-bit systems when that value produces an expiry that is within the time integer range but cannot be represented by calendar time structures during cache serialization.

2

Which deployments are exposed to persistent HSTS state loss?

Deployments that use curl's persisted HSTS cache are exposed when they connect to an HTTPS origin capable of supplying the crafted HSTS value. The failure occurs while saving the cache: the existing HSTS file may already have been truncated before serialization fails.

3

How can operators tell whether this has occurred?

Inspect the persisted HSTS cache after curl accesses an untrusted authenticated HTTPS origin. An affected save can leave the cache empty or partially written, while curl may still exit successfully because the save error is ignored during cleanup.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203