CVE catalog

CVE-2024-52811

ngtcp2: CVE-2024-52811

[CVE catalog]

Severity
High · CVSS 8.2CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
Published
Source
[NVD] · [CVE record]
EPSS
0.84% · Oct 25, 2026

The ngtcp2 project is an effort to implement IETF QUIC protocol in C. In affected versions acks are not validated before being written to the qlog leading to a buffer overflow. In `ngtcp2_conn::conn_recv_pkt` for an ACK, there was new logic that got added to skip `conn_recv_ack` if an ack has already been processed in the payload. However, this causes us to also skip `ngtcp2_pkt_validate_ack`. The ack which was skipped still got written to qlog. The bug occurs in `ngtcp2_qlog::write_ack_frame`. It is now possible to reach this code with an invalid ack, suppose `largest_ack=0` and `first_ack_range=15`. Subtracting `largest_ack - first_ack_range` will lead to an integer underflow which is 20 chars long. However, the ngtcp2 qlog code assumes the number written is a signed integer and only accounts for 19 characters of overhead (see `NGTCP2_QLOG_ACK_FRAME_RANGE_OVERHEAD`). Therefore, we overwrite the buffer causing a heap overflow. This is high priority and could potentially impact many users if they enable qlog. qlog is disabled by default. Due to its overhead, it is most likely used for debugging purpose, but the actual use is unknown. ngtcp2 v1.9.1 fixes the bug and users are advised to upgrade. Users unable to upgrade should not turn on qlog.

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debianngtcp2sid1.24.0-1not affected
Debianngtcp2forky1.24.0-1not affected
Debianngtcp2trixie1.11.0-1+deb13u1not affected
Debianngtcp2trixie-security1.11.0-1+deb13u1not affected
Debianngtcp2bookworm0.12.1+dfsg-1+deb12u1not affected
Debianngtcp2bookworm-security0.12.1+dfsg-1+deb12u1not affected
Opensusengtcp2tumbleweed1.10.0-1.1fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debianngtcp2sourcesidNot affectedunimportantNot reportedNot reported
Debianngtcp2sourceforkyNot affectedunimportantNot reportedNot reported
Debianngtcp2sourcetrixieNot affectedunimportantNot reportedNot reported
Debianngtcp2sourcebookwormNot affectedunimportantNot reportedNot reported
Opensusengtcp2rpmtumbleweed1.10.0-1.1Not reportedOPENSUSE-SU-2025:14766-1Not reported

OpenFactory catalog packages

[openSUSE Tumbleweed]

  • [libngtcp2-16]Unknown

    Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

  • [ngtcp2-devel]Unknown

    Source package: [ngtcp2]

    Details (1)
    • 1.25.0-2.1 · x86_64 · tumbleweed

      Unknown · Fixed: 1.10.0-1.1

      Version impact unknown

      dsa · ngtcp2 · opensuse · tumbleweed

[Debian 12 (Bookworm)]

  • [libngtcp2-16]Not affected

    Source package: [ngtcp2]

    Details (2)
    • 1.11.0-1~bpo12+1 · amd64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · arm64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

  • [libngtcp2-9]Not affected

    Source package: [ngtcp2]

    Details (4)
    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

  • Source package: [ngtcp2]

    Details (4)
    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

  • Source package: [ngtcp2]

    Details (2)
    • 1.11.0-1~bpo12+1 · amd64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · arm64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

  • Source package: [ngtcp2]

    Details (6)
    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · amd64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · arm64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

  • [libngtcp2-dev]Not affected

    Source package: [ngtcp2]

    Details (6)
    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · amd64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · arm64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

  • [ngtcp2-client]Not affected

    Source package: [ngtcp2]

    Details (6)
    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · amd64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · arm64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

  • [ngtcp2-server]Not affected

    Source package: [ngtcp2]

    Details (6)
    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · amd64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 1.11.0-1~bpo12+1 · arm64 · bookworm-backports

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · amd64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

    • 0.12.1+dfsg-1+deb12u1 · arm64 · bookworm-security

      Not affected

      dsa · ngtcp2 · debian · bookworm

Observed:

References