“在 nginx HTTP/2 實現(xiàn)中發(fā)現(xiàn)了兩個安全問題,這可能導致過多的內存消耗(CVE-2018-16843)和CPU使用率(CVE-2018-16844)”,詳見 nginx 的
安全建議。
此外,“如果在配置文件中使用"listen"指令的"http2"選項,則問題會影響使用 ngx_http_v2_module 編譯的 nginx(默認情況下不編譯)。”
為了利用上述兩個問題,攻擊者可以發(fā)送特制的 HTTP/2 請求,這將導致過多的CPU使用和內存使用,最終觸發(fā) DoS 狀態(tài)。
所有運行未打上補丁的 nginx 服務器都容易受到 DoS 攻擊。
第三個安全問題(CVE-2018-16845)會影響 MP4 模塊,使得攻擊者在惡意制作的 MP4 文件的幫助下,在 worker 進程中導致出現(xiàn)無限循環(huán)、崩潰或內存泄露狀態(tài)。
最后一個安全問題僅影響運行使用 ngx_http_mp4_module 構建的 nginx 版本并在配置文件中啟用 mp4 選項的服務器。
總的來說,HTTP/2 漏洞影響 1.9.5 和 1.15.5 之間的所有 nginx 版本,MP4 模塊安全問題影響運行 nginx 1.0.7, 1.1.3 及更高版本的服務器。
為緩解這兩個安全問題,服務器管理員必須將其 nginx 升級到 1.14.1 stable 或1.15.6 主線版本。
目前,Shodan 搜索顯示超過 1400 萬臺服務器運行未包含修復補丁的 nginx 版本(更確切地說是 14,036,690 臺),僅有 6992 臺服務器打上了安全補丁。