CVE-2026-87863
CVE-2026-87863 · HSTS response erases persisted entries
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
EPSS 0.3% · Fix available
- Published
- Updated
Stack: system
Affected products and versions
curl
- Versions
- ≥ 8.22.0, ≤ 8.22.0: Affected (semver)
- ≥ 8.21.0, ≤ 8.21.0: Affected (semver)
- ≥ 8.20.0, ≤ 8.20.0: Affected (semver)
- ≥ 8.19.0, ≤ 8.19.0: Affected (semver)
- ≥ 8.18.0, ≤ 8.18.0: Affected (semver)
- ≥ 8.17.0, ≤ 8.17.0: Affected (semver)
- ≥ 8.16.0, ≤ 8.16.0: Affected (semver)
- ≥ 8.15.0, ≤ 8.15.0: Affected (semver)
- ≥ 8.14.1, ≤ 8.14.1: Affected (semver)
- ≥ 8.14.0, ≤ 8.14.0: Affected (semver)
- ≥ 8.13.0, ≤ 8.13.0: Affected (semver)
- ≥ 8.12.1, ≤ 8.12.1: Affected (semver)
- ≥ 8.12.0, ≤ 8.12.0: Affected (semver)
- ≥ 8.11.1, ≤ 8.11.1: Affected (semver)
- ≥ 8.11.0, ≤ 8.11.0: Affected (semver)
- ≥ 8.10.1, ≤ 8.10.1: Affected (semver)
- ≥ 8.10.0, ≤ 8.10.0: Affected (semver)
- ≥ 8.9.1, ≤ 8.9.1: Affected (semver)
- ≥ 8.9.0, ≤ 8.9.0: Affected (semver)
- ≥ 8.8.0, ≤ 8.8.0: Affected (semver)
- ≥ 8.7.1, ≤ 8.7.1: Affected (semver)
- ≥ 8.7.0, ≤ 8.7.0: Affected (semver)
- ≥ 8.6.0, ≤ 8.6.0: Affected (semver)
- ≥ 8.5.0, ≤ 8.5.0: Affected (semver)
- ≥ 8.4.0, ≤ 8.4.0: Affected (semver)
- ≥ 8.3.0, ≤ 8.3.0: Affected (semver)
- ≥ 8.2.1, ≤ 8.2.1: Affected (semver)
- ≥ 8.2.0, ≤ 8.2.0: Affected (semver)
No fix published
curl Debian:13
- Versions
- 8.14.1-2
- 8.14.1-2+deb13u1
- 8.14.1-2+deb13u2
- 8.14.1-2+deb13u2~bpo13+1
- 8.14.1-2+deb13u3
- 8.14.1-2+deb13u4
- 8.14.1-2+deb13u5
- 8.14.1-2+deb13u7
- 8.14.1-2+exp1
- 8.15.0-1
- 8.15.0-1~bpo13+1
- 8.15.0-1~exp1
- 8.15.0~rc1-1exp1
- 8.15.0~rc2-1~exp1
- 8.15.0~rc3-1~exp1
- 8.16.0-1
- 8.16.0-1+exp1
- 8.16.0-1~bpo13+1
- 8.16.0-2
- 8.16.0-3
- 8.16.0-4
- 8.16.0-4~bpo13+1
- 8.16.0~rc1-1~exp1
- 8.16.0~rc2-1
- 8.16.0~rc2-2
- 8.16.0~rc3-1
- 8.17.0-1
- 8.17.0-2
- 8.17.0-3
- 8.17.0~rc1-1~exp1
- 8.17.0~rc2-1
- 8.17.0~rc3-1
- 8.18.0-1
- 8.18.0-1~bpo13+1
- 8.18.0-2
- 8.18.0~rc1-1+exp1
- 8.18.0~rc2-1
- 8.18.0~rc3-1
- 8.19.0-1
- 8.19.0-1+exp1
- 8.19.0-1~bpo13+1
- 8.19.0-2
- 8.19.0-3
- 8.19.0-3+exp1
- 8.19.0-3+exp2
- 8.19.0~rc1-1~exp1
- 8.19.0~rc2-1
- 8.19.0~rc2-2
- 8.19.0~rc3-1
- 8.20.0-1
- 8.20.0-1+exp
- 8.20.0-2
- 8.20.0-2+exp1
- 8.20.0-2~bpo13+1
- 8.20.0-3
- 8.20.0-4
- 8.20.0-5
- 8.20.0-5~bpo13+1
- 8.20.0~rc1-1+exp1
- 8.20.0~rc1-1+exp2
- 8.20.0~rc1-1+exp3
- 8.20.0~rc2-1
- 8.20.0~rc2-1+exp1
- 8.20.0~rc3-1
- 8.20.0~rc3-1+exp1
- 8.21.0-1
- 8.21.0-1+exp1
- 8.21.0-2
- 8.21.0-2+exp1
- 8.21.0-2~bpo13+1
- 8.21.0~rc1-1+exp1
- 8.21.0~rc2-1
- 8.21.0~rc2-1+exp1
- 8.21.0~rc3-1
- 8.21.0~rc3-1+exp1
- 8.22.0-1
- 8.22.0-1+exp1
- 8.22.0~rc2-1
- 8.22.0~rc2-2
- 8.22.0~rc3-1
- 8.22.0~rc3-1+exp1
- 8.23.0-1
- 8.23.0~rc1-1
- 8.23.0~rc1-2
- 8.23.0~rc2-1
- 8.23.0~rc2-1+exp1
- 8.23.0~rc3-1
- 8.23.0~rc3-1+exp1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
curl Debian:14
- Versions
- 8.14.1-2
- 8.14.1-2+exp1
- 8.15.0-1
- 8.15.0-1~bpo13+1
- 8.15.0-1~exp1
- 8.15.0~rc1-1exp1
- 8.15.0~rc2-1~exp1
- 8.15.0~rc3-1~exp1
- 8.16.0-1
- 8.16.0-1+exp1
- 8.16.0-1~bpo13+1
- 8.16.0-2
- 8.16.0-3
- 8.16.0-4
- 8.16.0-4~bpo13+1
- 8.16.0~rc1-1~exp1
- 8.16.0~rc2-1
- 8.16.0~rc2-2
- 8.16.0~rc3-1
- 8.17.0-1
- 8.17.0-2
- 8.17.0-3
- 8.17.0~rc1-1~exp1
- 8.17.0~rc2-1
- 8.17.0~rc3-1
- 8.18.0-1
- 8.18.0-1~bpo13+1
- 8.18.0-2
- 8.18.0~rc1-1+exp1
- 8.18.0~rc2-1
- 8.18.0~rc3-1
- 8.19.0-1
- 8.19.0-1+exp1
- 8.19.0-1~bpo13+1
- 8.19.0-2
- 8.19.0-3
- 8.19.0-3+exp1
- 8.19.0-3+exp2
- 8.19.0~rc1-1~exp1
- 8.19.0~rc2-1
- 8.19.0~rc2-2
- 8.19.0~rc3-1
- 8.20.0-1
- 8.20.0-1+exp
- 8.20.0-2
- 8.20.0-2+exp1
- 8.20.0-2~bpo13+1
- 8.20.0-3
- 8.20.0-4
- 8.20.0-5
- 8.20.0-5~bpo13+1
- 8.20.0~rc1-1+exp1
- 8.20.0~rc1-1+exp2
- 8.20.0~rc1-1+exp3
- 8.20.0~rc2-1
- 8.20.0~rc2-1+exp1
- 8.20.0~rc3-1
- 8.20.0~rc3-1+exp1
- 8.21.0-1
- 8.21.0-1+exp1
- 8.21.0-2
- 8.21.0-2+exp1
- 8.21.0-2~bpo13+1
- 8.21.0~rc1-1+exp1
- 8.21.0~rc2-1
- 8.21.0~rc2-1+exp1
- 8.21.0~rc3-1
- 8.21.0~rc3-1+exp1
- 8.22.0-1
- 8.22.0-1+exp1
- 8.22.0~rc2-1
- 8.22.0~rc2-2
- 8.22.0~rc3-1
- 8.22.0~rc3-1+exp1
- 8.23.0-1
- 8.23.0~rc1-1
- 8.23.0~rc1-2
- 8.23.0~rc2-1
- 8.23.0~rc2-1+exp1
- 8.23.0~rc3-1
- 8.23.0~rc3-1+exp1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
curl Ubuntu:24.04:LTS
- Versions
- 8.2.1-1ubuntu3
- 8.2.1-1ubuntu3.1
- 8.4.0-2ubuntu1
- 8.5.0-2ubuntu1
- 8.5.0-2ubuntu2
- 8.5.0-2ubuntu8
- 8.5.0-2ubuntu9
- 8.5.0-2ubuntu10
- 8.5.0-2ubuntu10.1
- 8.5.0-2ubuntu10.2
- 8.5.0-2ubuntu10.3
- 8.5.0-2ubuntu10.4
- 8.5.0-2ubuntu10.5
- 8.5.0-2ubuntu10.6
- 8.5.0-2ubuntu10.7
- 8.5.0-2ubuntu10.8
- 8.5.0-2ubuntu10.9
- 8.5.0-2ubuntu10.10
- 8.5.0-2ubuntu10.11
- 8.5.0-2ubuntu10.12
- 8.5.0-2ubuntu10.13
- 8.5.0-2ubuntu10.15
- Affected ranges
- ECOSYSTEM: < 8.5.0-2ubuntu10.16
Update to 8.5.0-2ubuntu10.16
curl Ubuntu:26.10
- Versions
- 8.18.0-1ubuntu2
- 8.20.0-2ubuntu1
- 8.20.0-2ubuntu3
- 8.20.0-2ubuntu10
- 8.20.0-2ubuntu11
- Affected ranges
- ECOSYSTEM: < 8.20.0-2ubuntu11.1
Update to 8.20.0-2ubuntu11.1
curl Ubuntu:26.04:LTS
- Versions
- 8.14.1-2ubuntu1
- 8.17.0-1ubuntu1
- 8.18.0-1ubuntu1
- 8.18.0-1ubuntu2
- 8.18.0-1ubuntu2.1
- 8.18.0-1ubuntu2.2
- 8.18.0-1ubuntu2.3
- 8.18.0-1ubuntu2.4
- 8.18.0-1ubuntu2.5
- 8.18.0-1ubuntu2.7
- Affected ranges
- ECOSYSTEM: < 8.18.0-1ubuntu2.8
Update to 8.18.0-1ubuntu2.8