Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

RUSTSEC-2026-0340: Peer minimum ACK delay can panic quinn-proto when ACK_FREQUENCY transmission is enabled

未关闭
#17 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
55/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
rust
领域
backend, security

调研方向

The advisory identifies AckFrequencyState::candidate_max_ack_delay and TransportConfig::ack_frequency_config, but gives no file or test path in this repository. First check how this project depends on and configures quinn-proto, then trace whether it enables ACK_FREQUENCY transmission. Done means the affected dependency behavior is addressed and a regression check covers peer minimum ACK delay exceeding the RTT-based maximum.

由索引模型根据 Issue 内容生成。

描述

Peer minimum ACK delay can panic quinn-proto when ACK_FREQUENCY transmission is enabled

Details
Package quinn-proto
Version 0.11.16
URL https://github.com/quinn-rs/quinn/pull/2868
Date 2026-09-14
Patched versions >=0.11.18
Unaffected versions <0.11.0

When sending ACK_FREQUENCY frames is enabled through
TransportConfig::ack_frequency_config(Some(..)), the peer's transport parameters could cause
AckFrequencyState::candidate_max_ack_delay to call Duration::clamp with a minimum greater
than its maximum, which panics.

For example, a peer advertising a min_ack_delay of 100,000 microseconds and a max_ack_delay
of 100 milliseconds passes transport parameter validation. At a 5 ms RTT, the lower bound of the
clamp becomes 100 ms while the upper bound is 25 ms, violating the precondition of clamp and
panicking while driving the connection. Both automatically derived and explicitly configured
maximum ACK delays use this calculation.

Sending ACK_FREQUENCY frames is disabled by default, so only endpoints that opt in are affected.

The flaw was corrected in 0.11.18 by computing the delay with explicit minimum and maximum bounds
instead of clamp.

Thanks to @zerox80 for reporting this issue.

See advisory page for additional details.

主要语言
Rust
星标
1
派生
0
平均合并
11 小时 44 分钟
30 天内合并 PR
2

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

stackabletech/stackable-odbc-trino 的其他 Issue

查看 stackabletech/stackable-odbc-trino 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。