RUSTSEC-2026-0538: Receive loop can spin after a truncated datagram
还没有人认领这个 Issue。
评估
调研方向
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.
由索引模型根据 Issue 内容生成。
描述
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.
- 主要语言
- Rust
- 星标
- 0
- 派生
- 2
- 平均合并
- 14 天 2 小时
- 30 天内合并 PR
- 1
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
stackabletech/postgresql-trino-gateway 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 62/100
-
RUSTSEC-2026-0348: Brotli certificate decompression can allocate up to 1 GiB before authentication未关闭
难度 2/5 1-3 小时 新手友好度 60/100
-
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 2/5 1-3 小时 新手友好度 48/100
查看 stackabletech/postgresql-trino-gateway 的全部 Issue
相似的 Issue
-
bug UI
难度 2/5 1-3 小时 新手友好度 70/100
wardian-app/Wardian#1746 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
jlcodes99/cockpit-tools#3125 ·
维护者通常 2 天内回复
-
bug user-sprint
难度 2/5 1-3 小时 新手友好度 72/100
Vondor/KassenSturz#967 ·
维护者通常 1 天内回复