[MEDIUM] Email TLS 证书校验可被禁用:InsecureSkipVerify 配置风险 #13

Closed
opened 2026-04-30 03:56:36 +08:00 by lan · 0 comments
Owner

问题描述

邮件客户端配置允许通过 InsecureSkipVerify 禁用 TLS 证书校验。

影响链路

config.yaml -> email.insecure_skip_verify
  → internal/config/email.go:13
  → internal/pkg/email/config.go:30
  → internal/pkg/email/client.go:102 → TLSConfig{InsecureSkipVerify: true}

风险

InsecureSkipVerify: true 时:

  • 邮件通信可被中间人攻击(MITM)截获
  • 密码重置链接、验证码可能被窃取
  • 敏感邮件内容可被篡改

修复建议

  1. 生产环境强制 InsecureSkipVerify: false
  2. 在代码中添加警告日志:当该值为 true 时输出 WARN 级别日志
  3. 考虑移除该配置项,仅保留证书路径配置(用于自签名证书场景)

严重程度

MEDIUM — 仅在生产环境启用此配置时构成实际风险。

## 问题描述 邮件客户端配置允许通过 `InsecureSkipVerify` 禁用 TLS 证书校验。 ### 影响链路 ``` config.yaml -> email.insecure_skip_verify → internal/config/email.go:13 → internal/pkg/email/config.go:30 → internal/pkg/email/client.go:102 → TLSConfig{InsecureSkipVerify: true} ``` ## 风险 当 `InsecureSkipVerify: true` 时: - 邮件通信可被中间人攻击(MITM)截获 - 密码重置链接、验证码可能被窃取 - 敏感邮件内容可被篡改 ## 修复建议 1. 生产环境强制 `InsecureSkipVerify: false` 2. 在代码中添加警告日志:当该值为 `true` 时输出 `WARN` 级别日志 3. 考虑移除该配置项,仅保留证书路径配置(用于自签名证书场景) ## 严重程度 **MEDIUM** — 仅在生产环境启用此配置时构成实际风险。
lan closed this issue 2026-04-30 12:23:20 +08:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: carrot_bbs/backend#13