![]()
![]()
![]()
前言
2026年3月25日,nginx官方正式發布nginx 1.28.3 stable version穩定版本,本次版本為1.28穩定分支的重要安全更新,聚焦于修復多個高危安全漏洞,同時對QUIC、MP4、郵件、Stream等核心模塊進行缺陷修復,并同步升級Windows平臺編譯依賴的OpenSSL、zlib、PCRE2庫版本,進一步提升服務安全性與運行穩定性。
本次更新共計19次提交、14個文件變更、4位開發者參與,代碼層面新增395行、刪除108行,修復了包括緩沖區溢出、整數溢出、段錯誤、OCSP繞過、DNS注入等在內的多項安全問題,覆蓋ngx_http_dav_module、ngx_http_mp4_module、郵件模塊、Stream模塊等核心組件,所有運行nginx 1.28.x分支的生產環境均建議盡快升級至1.28.3版本,避免漏洞被利用導致服務異常、數據泄露或權限越界等安全風險。
本文將基于官方發布日志、GitHub提交記錄與代碼變更詳情,對nginx 1.28.3版本的更新內容進行全面拆解,涵蓋安全漏洞修復明細、核心模塊優化細節、依賴庫升級內容、代碼級改動解析,為運維工程師、后端開發者、架構師提供完整的版本升級參考。
一、nginx 1.28.3版本基礎信息 1.1 版本發布信息
? 版本號:nginx 1.28.3
? 版本類型:Stable stable version(穩定版)
? 發布時間:2026年3月25日
? 代碼提交:19 commits
? 變更文件:14 files changed
? 貢獻者:4 contributors
? 代碼變動:395 additions、108 deletions
nginx 1.28.3屬于1.28穩定分支的安全補丁版本,無新增功能特性,全部更新圍繞安全漏洞修復、模塊缺陷修復、依賴庫更新、代碼健壯性優化展開,重點解決影響服務安全與穩定運行的高危漏洞,適用于所有生產環境、測試環境的nginx 1.28.x版本升級。
二、6大CVE安全漏洞完整修復明細
本次nginx 1.28.3版本共修復6個CVE編號的安全漏洞,覆蓋WebDAV模塊、MP4模塊、郵件認證模塊、Stream SSL模塊,漏洞類型包含緩沖區溢出、整數溢出、段錯誤、認證繞過、DNS注入、OCSP繞過,以下為每個漏洞的詳細說明:
2.1 CVE-2026-27654:ngx_http_dav_module緩沖區溢出漏洞
? 漏洞模塊:ngx_http_dav_module(WebDAV模塊)
? 漏洞場景:處理COPY/MOVE請求時,在配置alias的location中觸發緩沖區溢出
? 漏洞危害:攻擊者可構造惡意請求,修改源路徑或目標路徑,越出document root范圍,實現目錄穿越、文件讀寫等惡意操作
? 修復方式:新增Destination頭部長度校驗,當配置alias且目標URI長度小于alias長度時,直接返回400 Bad Request,阻斷惡意請求
? 致謝:Calif.io、Claude、Anthropic Research
? 漏洞模塊:ngx_http_mp4_module(MP4文件處理模塊)
? 漏洞場景:32位操作系統平臺下,處理構造惡意MP4文件時觸發緩沖區溢出
? 漏洞危害:導致worker進程崩潰(拒絕服務),存在遠程代碼執行潛在風險
? 修復方式:校驗stss原子中的同步樣本值,修復32位平臺整數溢出問題,避免零長度緩沖區輸出
? 致謝:Prabhav Srinath (sprabhav7)
? 漏洞模塊:ngx_http_mp4_module(MP4文件處理模塊)
? 漏洞場景:全平臺處理惡意構造的MP4文件時觸發緩沖區溢出
? 漏洞危害:worker進程異常崩潰,服務不可用,存在未明確的潛在安全影響
? 修復方式:優化MP4文件原子解析邏輯,增加邊界校驗,修復樣本索引與偏移量計算缺陷
? 致謝:Xint Code、Pavel Kohout (Aisle Research)
? 漏洞模塊:nginx郵件代理模塊
? 漏洞場景:啟用CRAM-MD5或APOP認證方式,且允許認證重試時,觸發段錯誤(segmentation fault)
? 漏洞危害:郵件代理worker進程崩潰,郵件服務中斷
? 修復方式:修復認證過程中內存清理邏輯,避免非法內存訪問
? 致謝:Arkadi Vainbrand
? 漏洞模塊:nginx郵件代理模塊
? 漏洞場景:攻擊者利用DNS PTR記錄,向auth_http請求、后端SMTP的XCLIENT命令注入惡意數據
? 漏洞危害:實現請求偽造、參數注入,干擾郵件認證流程,獲取敏感信息
? 修復方式:新增主機名校驗邏輯,僅允許RFC 1034規范的字符(字母、數字、-、.),阻斷非法字符注入
? 致謝:Asim Viladi Oglu Manizada、Colin Warren、Xiao Liu、Yuan Tan、Bird Liu
? 漏洞模塊:ngx_stream_ssl_module(Stream SSL模塊)
? 漏洞場景:OCSP服務拒絕客戶端證書時,SSL握手仍可成功建立,繞過證書校驗
? 漏洞危害:非法客戶端可通過偽造證書繞過認證,建立非法連接
? 修復方式:新增OCSP狀態校驗邏輯,OCSP驗證失敗時直接終止SSL握手,清除會話緩存
? 致謝:Mufeed VH (Winfunc Research)
除安全漏洞外,nginx 1.28.3對QUIC、MP4、DNS解析、郵件處理等模塊進行了功能性缺陷修復,提升服務運行穩定性:
3.1 QUIC模塊優化
1. 調整無狀態重置(Stateless Reset)數據包最小長度,從21字節調整為41字節
2. 限制無狀態重置數據包最大尺寸為1200字節,避免超大包攻擊
3. 新增無狀態重置速率限制,基于地址哈希與位圖實現頻率控制,防止濫用
4. 無狀態重置令牌與worker進程綁定,避免跨進程數據包處理異常
5. 重構ngx_quic_address_hash()函數,優化地址哈希計算邏輯
6. 提升OpenSSL兼容層錯誤處理能力,修復密鑰設置失敗導致的內部錯誤
7. 修復錯誤worker進程接收QUIC數據包導致連接斷開的問題
1. 校驗stss原子同步樣本值,禁止零值同步樣本,避免解析異常
2. 修復32位平臺整數溢出問題,防止內存越界
3. 禁止零長度緩沖區輸出,避免空指針異常
4. 優化時間切片邏輯,當結束偏移小于等于起始偏移時直接返回錯誤
5. 修復樣本索引、chunk索引越界問題,完善原子大小邊界校驗
6. 修復關鍵幀查找邏輯,將返回值類型從uint32_t改為ngx_int_t,統一錯誤處理
1. 修復ngx_resolver_copy()函數中的off-by-one讀取錯誤
2. 調整SRV記錄解析邊界判斷條件,從i + 6 > n改為i + 6 >= n,避免短響應解析異常
1. 修復auth_http請求中s->passwd內存清理不徹底問題,使用ngx_str_null統一初始化
2. 新增SMTP主機名校驗函數,過濾非法字符,防止DNS注入
3. 主機名解析失敗時直接返回臨時不可用狀態,避免異常連接
1. 完善客戶端證書OCSP校驗邏輯,校驗失敗時記錄錯誤日志并終止握手
2. 清除OCSP失敗的會話緩存,防止非法會話復用
nginx 1.28.3對Windows版本編譯依賴的第三方庫進行同步升級,修復依賴庫潛在安全風險:
1. OpenSSL:從3.5.4升級至3.5.5
2. zlib:從1.3.1升級至1.3.2
3. PCRE2:從10.46升級至10.47
依賴庫升級僅影響Windows平臺編譯版本,Linux/Unix平臺使用系統自帶依賴庫,無額外影響。
五、核心代碼變更詳細解析
本次版本共14個文件發生變更,核心代碼改動集中在安全校驗、協議處理、內存管理、邊界判斷四個維度,以下為關鍵文件改動解析:
5.1 版本號定義文件
src/core/nginx.h:
? nginx_version從1028002修改為1028003
? NGINX_VERSION從"1.28.2"修改為"1.28.3"
src/core/ngx_resolver.c:
? 修復SRV記錄解析邊界判斷,將if (i + 6 > n)改為if (i + 6 >= n),避免短響應漏判
src/event/quic/ngx_event_quic.c:
? 新增ngx_quic_address_hash()函數實現,優化地址哈希計算
? 支持帶鹽值哈希,提升無狀態重置安全性
src/event/quic/ngx_event_quic_output.c:
? 調整NGX_QUIC_MIN_PKT_LEN為41字節
? 新增無狀態重置過濾器ngx_quic_stateless_reset_filter(),實現速率限制
? 優化重置數據包長度計算邏輯,限制最大長度
src/event/quic/ngx_event_quic_openssl_compat.c:
? 增強密鑰設置錯誤處理,失敗時設置QUIC內部錯誤碼
? 修復空密鑰上下文導致的解析錯誤
src/event/quic/ngx_event_quic_connection.h:
? 新增ngx_quic_address_hash()函數聲明
src/http/modules/ngx_http_dav_module.c:
? 新增alias場景下Destination頭部長度校驗
? 獲取ngx_http_core_module配置,判斷URI長度合法性,非法則返回400
src/http/modules/ngx_http_mp4_module.c:
? 修復關鍵幀查找函數返回值類型,新增錯誤碼返回
? 禁止零同步樣本,完善原子大小邊界校驗
? 修復偏移量越界判斷,結束偏移小于等于起始偏移直接報錯
? 修復32位平臺整數溢出,避免內存越界
src/mail/ngx_mail_auth_http_module.c:
? 修復s->passwd內存清理,使用ngx_str_null統一初始化
src/mail/ngx_mail_smtp_handler.c:
? 新增ngx_mail_smtp_validate_host()主機名校驗函數
? 僅允許字母、數字、-、.字符,阻斷注入攻擊
src/stream/ngx_stream_ssl_module.c:
? 新增OCSP狀態校驗,驗證失敗時終止握手并清除會話
? 記錄證書驗證錯誤日志,便于問題排查
docs/xml/nginx/changes.xml:
? 新增1.28.3版本完整變更記錄,包含6個CVE漏洞說明、功能修復、致謝信息
misc/GNUmakefile:
? 更新Windows編譯依賴庫版本號,同步OpenSSL、zlib、PCRE2版本
所有nginx 1.28.0、1.28.1、1.28.2穩定版本均存在上述安全漏洞,建議立即升級至1.28.3。
6.2 不受影響場景
1. 未啟用ngx_http_dav_module、ngx_http_mp4_module、郵件模塊、Stream SSL模塊的環境
2. Windows平臺未使用編譯版本,僅使用Linux/Unix預編譯包的環境
3. 未開啟QUIC、OCSP、CRAM-MD5/APOP認證的場景
1. 生產環境優先采用平滑升級方式,避免服務中斷
2. 升級前備份nginx配置文件、日志文件、SSL證書
3. 升級后執行nginx -t校驗配置合法性,再執行reload
4. 開啟模塊的業務需重點測試功能完整性,尤其是MP4文件處理、WebDAV、郵件代理、Stream代理
5. 安全團隊可針對6個CVE漏洞進行漏洞掃描驗證,確認修復生效
1. 未升級版本可能遭受目錄穿越、拒絕服務、證書繞過、請求注入攻擊
2. 32位服務器運行MP4模塊業務,漏洞利用風險更高
3. 公網暴露的WebDAV、郵件代理、Stream服務為高危攻擊面,必須優先升級
代碼地址:bgithub.xyz/nginx/nginx
nginx 1.28.3是1.28穩定分支的關鍵安全更新版本,一次性修復6個CVE高危漏洞,覆蓋Web服務、文件處理、郵件代理、四層代理全場景,同時優化QUIC協議性能、修復模塊功能性缺陷、升級第三方依賴庫,全面提升nginx服務的安全性與穩定性。
我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業洞察。 歡迎關注“福大大架構師每日一題”,發消息可獲得面試資料,讓AI助力您的未來發展。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.