CVE-2026-9547
Vulnerability Summary
Timeline
Description
When a libcurl-based application performs transfers via `SCP://` or `SFTP://` and utilizes the `CURLOPT_SSH_KEYFUNCTION` callback, it may silently accept an untrusted server. This vulnerability occurs when a server presents a host key type that does not match the specific key type already recorded for that host in the `known_hosts` file. Instead of rejecting the mismatch, the callback mechanism fails to properly enforce the restriction, allowing the connection to succeed without warning and risking a potential man-in-the-middle attack.
CVSS Metrics
- v3.1•HIGH•Score: 7.4CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
EPSS Trends
Current EPSS score: 0.33%• Percentile: 26%
Techniques & Countermeasures
- CWE-297•Improper Validation of Certificate with Host Mismatch
The product communicates with a host that provides a certificate, but the product does not properly ensure that the certificate is actually associated with that host.
Affected Systems
- alpine•curl
≥ 7.69.0, < 8.22.0-r0 | ≥ 7.69.0, < 8.21.0-r0
- chainguard•eco-python-curl
< 8.21.0-r0
- chainguard•eco-python-curl-minimal
< 8.21.0-r0
- chainguard•eco-python-curl-minimal-bin
< 8.21.0-r0
- chainguard•eco-python-curl-minimal-dev
< 8.21.0-r0
- chainguard•eco-python-curl-minimal-doc
< 8.21.0-r0
- chainguard•eco-python-curl-minimal-static
< 8.21.0-r0
- chainguard•eco-python-curl-nghttp2
< 8.21.0-r0
- chainguard•eco-python-curl-nghttp2-bin
< 8.21.0-r0
- chainguard•eco-python-curl-nghttp2-dev
< 8.21.0-r0
- chainguard•eco-python-curl-nghttp2-static
< 8.21.0-r0
- chainguard•libcurl4
all
- wolfi•libcurl4
all
- curl•curl
8.20.0 | 8.19.0 | 8.18.0 | 8.17.0 | 8.16.0 | 8.15.0 | 8.14.1 | 8.14.0 | 8.13.0 | 8.12.1 | 8.12.0 | 8.11.1 | 8.11.0 | 8.10.1 | 8.10.0 | 8.9.1 | 8.9.0 | 8.8.0 | 8.7.1 | 8.7.0 | 8.6.0 | 8.5.0 | 8.4.0 | 8.3.0 | 8.2.1 | 8.2.0 | 8.1.2 | 8.1.1 | 8.1.0 | 8.0.1 | 8.0.0 | 7.88.1 | 7.88.0 | 7.87.0 | 7.86.0 | 7.85.0 | 7.84.0 | 7.83.1 | 7.83.0 | 7.82.0 | 7.81.0 | 7.80.0 | 7.79.1 | 7.79.0 | 7.78.0 | 7.77.0 | 7.76.1 | 7.76.0 | 7.75.0 | 7.74.0 | 7.73.0 | 7.72.0 | 7.71.1 | 7.71.0 | 7.70.0 | 7.69.1 | 7.69.0 | ≥ 7.69.0, < 8.14.2 | ≥ 8.15.0, < 8.16.1 | ≥ 8.17.0, < 8.20.1 | ≥ 507cf6a13db0375eadd4655b4c64710db29e9cf2, < 0b8dbbc63c98777e4584cb9fbd71df3464008ad1 | 8.20.0 | 8.19.0 | 8.18.0 | 8.17.0 | 8.16.0 | 8.15.0 | 8.14.1 | 8.14.0 | 8.13.0 | 8.12.1 | 8.12.0 | 8.11.1 | 8.11.0 | 8.10.1 | 8.10.0 | 8.9.1 | 8.9.0 | 8.8.0 | 8.7.1 | 8.7.0 | 8.6.0 | 8.5.0 | 8.4.0 | 8.3.0 | 8.2.1 | 8.2.0 | 8.1.2 | 8.1.1 | 8.1.0 | 8.0.1 | 8.0.0 | 7.88.1 | 7.88.0 | 7.87.0 | 7.86.0 | 7.85.0 | 7.84.0 | 7.83.1 | 7.83.0 | 7.82.0 | 7.81.0 | 7.80.0 | 7.79.1 | 7.79.0 | 7.78.0 | 7.77.0 | 7.76.1 | 7.76.0 | 7.75.0 | 7.74.0 | 7.73.0 | 7.72.0 | 7.71.1 | 7.71.0 | 7.70.0 | 7.69.1 | 7.69.0
- debian•curl
all | all | all | < 8.21.0~rc2-1
- haxx•curl
≥ 7.69.0, < 8.21.0
References (7)
- https://curl.se/docs/CVE-2026-9547.json
- https://curl.se/docs/CVE-2026-9547.html
- https://hackerone.com/reports/3751712
- https://security-tracker.debian.org/tracker/CVE-2026-9547
- https://security.alpinelinux.org/vuln/CVE-2026-9547
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/9xxx/CVE-2026-9547.json
- https://nvd.nist.gov/vuln/detail/CVE-2026-9547