安全: HTTP 500 响应回显异常详情,信息泄露 (webrtc.rs:213) #12

Closed
opened 2026-06-04 20:59:46 +08:00 by dailz · 1 comment
Owner

位置

src/webrtc.rs:213

严重性

🟢

问题描述

错误响应体包含原始 {e} 信息(如 SDP 解析错误、ICE 候选地址等),可能泄露内部实现细节、库版本信息或网络拓扑,降低攻击者信息收集门槛。

当前代码:

let resp = format!("HTTP/1.1 500 Error\r\nConnection: close\r\n\r\n{e}");

建议修复

对外仅返回通用错误描述,将详细错误记录到服务端日志:

tracing::error!("SDP offer handling failed: {e}");
let resp = "HTTP/1.1 500 Internal Server Error\r\nConnection: close\r\n\r\nSDP processing failed";
## 位置 `src/webrtc.rs:213` ## 严重性 🟢 低 ## 问题描述 错误响应体包含原始 `{e}` 信息(如 SDP 解析错误、ICE 候选地址等),可能泄露内部实现细节、库版本信息或网络拓扑,降低攻击者信息收集门槛。 当前代码: ```rust let resp = format!("HTTP/1.1 500 Error\r\nConnection: close\r\n\r\n{e}"); ``` ## 建议修复 对外仅返回通用错误描述,将详细错误记录到服务端日志: ```rust tracing::error!("SDP offer handling failed: {e}"); let resp = "HTTP/1.1 500 Internal Server Error\r\nConnection: close\r\n\r\nSDP processing failed"; ```
Author
Owner

已修复,commit 8b04893。

变更: src/webrtc.rs:213 — HTTP 500 响应体不再包含原始错误信息,改为返回通用空响应体。

修复前:
let resp = format!("HTTP/1.1 500 Error\r\nConnection: close\r\n\r\n{e}");

修复后:
let resp = "HTTP/1.1 500 Internal Server Error\r\nConnection: close\r\n\r\n";

详细错误已由第 212 行 tracing::error! 记录在服务端日志,客户端仅收到标准 500 状态码,不再泄露内部信息。

已修复,commit 8b04893。 **变更**: src/webrtc.rs:213 — HTTP 500 响应体不再包含原始错误信息,改为返回通用空响应体。 修复前: let resp = format!("HTTP/1.1 500 Error\r\nConnection: close\r\n\r\n{e}"); 修复后: let resp = "HTTP/1.1 500 Internal Server Error\r\nConnection: close\r\n\r\n"; 详细错误已由第 212 行 tracing::error! 记录在服务端日志,客户端仅收到标准 500 状态码,不再泄露内部信息。
dailz closed this issue 2026-06-06 21:23:40 +08:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dailz/wl-webrtc#12