Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

ubuntu логотип

CVE-2024-52811

Опубликовано: 25 нояб. 2024
Источник: ubuntu
Приоритет: medium
EPSS Низкий
CVSS3: 8.2

Описание

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...

РелизСтатусПримечание
devel

needs-triage

esm-apps/jammy

needs-triage

esm-apps/noble

needs-triage

esm-infra/focal

DNE

focal

DNE

jammy

needs-triage

noble

needs-triage

oracular

ignored

end of life, was needs-triage
plucky

needs-triage

questing

needs-triage

Показывать по

EPSS

Процентиль: 36%
0.00147
Низкий

8.2 High

CVSS3

Связанные уязвимости

CVSS3: 8.2
redhat
около 1 года назад

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...

CVSS3: 8.2
nvd
около 1 года назад

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 us

CVSS3: 8.2
debian
около 1 года назад

The ngtcp2 project is an effort to implement IETF QUIC protocol in C. ...

CVSS3: 8.2
fstec
около 1 года назад

Уязвимость реализации протокола QUIC и HTTP/3 на языке C пакета NGTCP2, связанная с реализацией некорректного потока управления, позволяющая нарушителю выполнить произвольный код

EPSS

Процентиль: 36%
0.00147
Низкий

8.2 High

CVSS3