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