RUSTSEC-2026-0538: Receive loop can spin after a truncated datagram

Đang mở
#39 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
Dưới một giờ
Mức phù hợp với người mới
50/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
rust
Lĩnh vực
security

Hướng nghiên cứu

The advisory concerns the quinn-udp crate pinned at 0.5.14 in this project's dependency graph. Start by finding its entry in the lockfile and checking whether it comes in directly or through another crate. Update it to a patched version (0.5.16 or later on the 0.5 line, or 0.6.3 or later on the 0.6 line), then build and run the test suite to confirm it resolves cleanly. Done when the lockfile shows a patched version and the build and tests pass.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Receive loop can spin after a truncated datagram

Details
Package quinn-udp
Version 0.5.14
URL https://github.com/quinn-rs/quinn/commit/462865a6c33039c26076f7077c7cd7e2f997b9cd
Date 2026-09-30
Patched versions >=0.5.16, <0.6.0,>=0.6.3

Some targets read one datagram per recvmsg call instead of using recvmmsg: Apple platforms without the fast-apple-datapath feature, OpenBSD, NetBSD, Solaris and illumos, and from 0.6 also DragonFly BSD, Redox and GNU/Hurd. On these targets the receive loop set up its msghdr only once and looked at the MSG_TRUNC flag before checking whether recvmsg had failed. After a datagram larger than the receive buffer was dropped, a following EAGAIN still saw the old truncation flag. The loop then kept issuing non-blocking receives instead of returning WouldBlock.

When the receive buffer is smaller than a datagram that arrives, a remote sender can keep the task that drives the socket busy, before any QUIC packet authentication. The loop ends only when a later datagram fits in the buffer. Whether an application is exposed therefore depends on the receive buffer size it uses. Linux, Android, FreeBSD and Windows use other receive paths and are not affected.

The fix rebuilds the header before every recvmsg call and returns receive errors before checking the truncation flag. It is in 0.5.16 and 0.6.3.

See advisory page for additional details.

Ngôn ngữ chính
Rust
Star
0
Fork
2
Merge trung bình
14 ngày 2 giờ
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của stackabletech/postgresql-trino-gateway

Tất cả issue của stackabletech/postgresql-trino-gateway

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.