CVE-2026-9547

Aliases:DEBIAN-CVE-2026-9547ALPINE-CVE-2026-9547CGA-2h77-xvq2-55cvCGA-2qfw-rh9v-pcv5CGA-492p-49h5-m9fmCGA-4grw-3qqg-27qgCGA-5q6w-2mxh-j8c4CGA-75j5-rq57-v27wCGA-9qq4-j2f7-6jg4CGA-c423-grx9-mpgvCGA-fh9f-469g-4g9wCGA-fp5r-r8m9-9g99CGA-frvv-mvr7-j9p8CGA-j72q-5h32-gcwwCGA-p57r-jhqr-8p7hCGA-p667-fjp4-5j56CGA-qc7m-6hfw-4g3pCGA-qcfj-rvm8-rhj6CGA-qjcj-mm38-p9cwCGA-x829-hwg3-3fwxCGA-xjc8-qc8p-829jCGA-xr7m-3qrf-fvxvCGA-8cx6-v2v7-whw2
Modified
Published: 03 Jul 2026, 06:18
Last modified:15 Sept 2026, 06:03

Vulnerability Summary

Overall Risk (default)
medium
40/100
CVSS Score
7.4 HIGH
v3.1 (cve.org)
EPSS Score
0.33% LOW
0% probability 0.00%
KEV
Not listed
Ransomware
No reports
Public exploits
1 found
Dark Web
Not detected

Timeline

03 Jul 2026, 06:18
Published
Vulnerability first disclosed
15 Sept 2026, 06:03
Last Modified
Vulnerability information updated

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.1HIGHScore: 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-297Improper 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

  • alpinecurl

    ≥ 7.69.0, < 8.22.0-r0 | ≥ 7.69.0, < 8.21.0-r0

  • chainguardeco-python-curl

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal-bin

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal-dev

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal-doc

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal-static

    < 8.21.0-r0

  • chainguardeco-python-curl-nghttp2

    < 8.21.0-r0

  • chainguardeco-python-curl-nghttp2-bin

    < 8.21.0-r0

  • chainguardeco-python-curl-nghttp2-dev

    < 8.21.0-r0

  • chainguardeco-python-curl-nghttp2-static

    < 8.21.0-r0

  • chainguardlibcurl4

    all

  • wolfilibcurl4

    all

  • curlcurl

    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

  • debiancurl

    all | all | all | < 8.21.0~rc2-1

  • haxxcurl

    ≥ 7.69.0, < 8.21.0

References (7)