src/webrtc.rs:213
🟢 低
错误响应体包含原始 {e} 信息(如 SDP 解析错误、ICE 候选地址等),可能泄露内部实现细节、库版本信息或网络拓扑,降低攻击者信息收集门槛。
{e}
当前代码:
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";
已修复,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 状态码,不再泄露内部信息。
No dependencies set.
The note is not visible to the blocked user.
位置
src/webrtc.rs:213严重性
🟢 低
问题描述
错误响应体包含原始
{e}信息(如 SDP 解析错误、ICE 候选地址等),可能泄露内部实现细节、库版本信息或网络拓扑,降低攻击者信息收集门槛。当前代码:
建议修复
对外仅返回通用错误描述,将详细错误记录到服务端日志:
已修复,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 状态码,不再泄露内部信息。