【中危】NGINX ngx_mail_smtp_module 内存越界读取漏洞

漏洞描述

NGINX是一个开源的、高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。它被广泛应用于构建高并发、高可用的Web服务。
受影响版本中,当NGINX配置了ngx_mail_smtp_module模块,并且smtp_auth指令设置为none方法时,在SMTP认证过程中,若认证服务器返回 Auth-Wait 响应,攻击者可利用认证错误处理缺陷触发内存越界读取,导致服务器向认证服务器泄露任意数据。
修复版本中通过改进plain/login/cram-md5认证方法的错误处理,确保在解码错误后会话状态的一致性;重置smtp_auth none配置下过期的认证凭据,防止利用旧凭据进行内存过读;以及改进错误日志记录,确保即使在缺少登录信息时也能正确记录上游认证服务器的错误,从而修复该漏洞。

MPS编号 MPS-lc4m-0q6k
CVE编号 CVE-2025-53859
处置建议 可选修复
发现时间 2025-08-13
利用成本
利用可能性
是否有POC

影响范围

影响组件 受影响的版本 最小修复版本
nginx [0.7.22, 1.29.1) 1.29.1

参考链接

https://github.com/nginx/nginx/pull/842

https://my.f5.com/manage/s/article/K000152786

https://www.oscs1024.com/hd/MPS-lc4m-0q6k

https://nvd.nist.gov/vuln/detail/CVE-2025-53859

排查方式

手动排查

检查NGINX版本:执行nginx -v确认版本是否在[0.7.22, 1.29.1)范围内;检查是否启用ngx_mail_smtp_module:查看nginx配置文件(如nginx.conf)是否存在mail配置块且编译时包含该模块;检查smtp_auth设置:在mail配置的smtp部分确认是否有smtp_auth none;指令。

一键自动排查全公司此类风险

墨菲安全为您免费提供一键排查全公司开源组件漏洞&投毒风险服务,可一键接入扫描全公司的代码仓库、容器镜像仓库、主机、制品仓库等。

试用地址:https://www.murphysec.com/adv?code=FEAH

提交漏洞情报:https://www.murphysec.com/bounty

处置方式

应急缓解方案

  1. 检查NGINX配置文件中是否存在ngx_mail_smtp_module模块启用及smtp_auth none配置
  2. 若存在上述配置,将smtp_auth指令修改为非none的认证方法(如"plain"、“login"或"cram-md5”)
  3. 若无需SMTP代理功能,通过重新编译或配置调整禁用ngx_mail_smtp_module模块
  4. 执行nginx -t验证配置有效性后重启NGINX服务

根本修复方案

  1. 升级NGINX至1.29.1或更高安全版本,从官方渠道获取源码或二进制包
  2. 升级前备份现有配置文件及证书等关键数据
  3. 使用官方推荐方式进行升级(源码编译需确保依赖环境匹配)
  4. 升级完成后执行nginx -v确认版本,并通过nginx -t验证配置兼容性
  5. 重启NGINX服务并监控服务状态及错误日志
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐