說明
遠端主機受到 GLSA-202208-20 中所述的弱點影響 (Apache HTTPD:多個弱點)
- 透過 HTTP/2 傳送的特製方法將繞過驗證並由 mod_proxy 轉送,這可導致要求分割或快取毒害。此問題會影響 Apache HTTP Server 2.4.17 至 2.4.48 版。
(CVE-2021-33193)
- 格式錯誤的要求可能造成伺服器解除參照 NULL 指標。此問題會影響 Apache HTTP Server 2.4.48 以及更早的版本。CVE-2021-34798
- 特製的要求 uri-path 可造成 mod_proxy_uwsgi 在所配置的記憶體之外讀取並造成當機 (DoS)。此問題會影響 Apache HTTP Server 2.4.30 至 2.4.48 版 (含)。(CVE-2021-36160)
- 當提供惡意輸入時,ap_escape_quotes() 可能會在超出緩衝區結尾處寫入。隨附的模組皆不會將不受信任的資料傳遞至這些函式,但第三方/外部模組不然。此問題會影響 Apache HTTP Server 2.4.48 以及更早的版本。CVE-2021-39275
- 特製的要求 uri-path 可造成 mod_proxy 將要求轉送至遠端使用者選擇的原始伺服器。此問題會影響 Apache HTTP Server 2.4.48 以及更早的版本。CVE-2021-40438
- 模糊測試 2.4.49 httpd 時,在處理 HTTP/2 要求期間偵測到新的 NULL 指標解除參照,進而允許外部來源在伺服器上引致 DoS。這需要使用特製要求。此弱點是近期在 2.4.49 版本中引入的。該專案沒有發生已知的惡意利用。
(CVE-2021-41524)
- 在對 Apache HTTP Server 2.4.49 中的路徑標準化所做的變更中發現一個缺陷。攻擊者可利用路徑遍歷攻擊,將 URL 對應至 Alias 等指示詞設定的目錄之外的檔案。如果這些目錄之外的檔案不受常規預設組態「require all denied」保護,則這些要求可能會成功。如果也爲這些別名路徑啟用 CGI 指令碼,則攻擊者可藉此發動遠端程式碼執行攻擊。已知此問題正被廣泛利用。此問題只會影響 Apache 2.4.49 ,不會影響其之前的版本。發現 Apache HTTP Server 2.4.50 中的修正不完整,請參閱 CVE-2021-42013。(CVE-2021-41773)
- 據發現,Apache HTTP Server 2.4.50 中的 CVE-2021-41773 修正並不充分。攻擊者可利用路徑遍歷攻擊,將 URL 對應至 Alias 等指示詞設定的目錄之外的檔案。如果這些目錄之外的檔案不受常規預設組態「require all denied」保護,則這些要求可能會成功。如果也爲這些別名路徑啟用 CGI 指令碼,則攻擊者可藉此發動遠端程式碼執行攻擊。此問題只會影響 Apache 2.4.49 和 Apache 2.4.50 ,不會影響其之前的版本。(CVE-2021-42013)
- 傳送至設定為正向代理伺服器 (啟用 ProxyRequests) 的 httpd 的特製 URI 可造成當機 (NULL 指標解除參照),或者混合正向和反向代理伺服器宣告的組態,允許將要求導向至宣告的 Unix 網域通訊端端點 (伺服器端要求偽造)。此問題會影響 Apache HTTP Server 2.4.7 版至 2.4.51 版 (含此版本)。(CVE-2021-44224)
- 特製的要求內文可造成 mod_lua multipart 剖析器 (從 Lua 指令碼呼叫的 r: parsebody() ) 中發生緩衝區溢位。Apache httpd 團隊尚未發現利用該弱點的情況,不過攻擊者可能會自行建構弱點。此問題會影響 Apache HTTP Server 2.4.51 以及更早的版本。CVE-2021-44790
- 特製的要求內文可造成讀取隨機記憶體區域,進而造成處理程序損毀。此問題會影響 Apache HTTP Server 2.4.52 以及更早的版本。CVE-2022-22719
- Apache HTTP Server 2.4.52 和更舊版本在捨棄要求內文時遇到錯誤,無法關閉傳入連線,進而導致伺服器受到 HTTP 要求走私漏洞影響 (CVE-2022-22720)
- 如果在 32 位元系統上將 LimitXMLRequestBody 設定為允許大於 350MB (預設為 1M) 的要求內文,則會造成整數溢位,進而導致越界寫入。此問題會影響 Apache HTTP Server 2.4.52 以及更早的版本。CVE-2022-22721
- Apache HTTP Server 的 mod_sed 中的超出邊界寫入弱點允許攻擊者使用可能由攻擊者提供的資料覆寫堆積記憶體。此問題會影響 Apache HTTP Server 2.4 2.4.52 及更舊版本。(CVE-2022-23943)
- Apache HTTP Server 的 mod_proxy_ajp 中存在對 HTTP 要求解釋不一致 (「HTTP 要求走私」) 弱點,攻擊者可藉此將要求走私到其轉送要求的 AJP 伺服器。此問題會影響 Apache HTTP Server 2.4、2.4.53 以及更舊版本。
(CVE-2022-26377)
- 在 Apache HTTP Server 2.4.53 及更早版本中,若攻擊者能夠使用 ap_rwrite() 或 ap_rputs() (例如使用 mod_luas r:puts() 函式 ) 讓伺服器反映超大型輸入,則 ap_rwrite() 函式可能會讀取非預期的記憶體。從使用「ap_rputs」函式的 Apache HTTP Server 分別編譯和發佈的模組,必須針對目前的標頭編譯非常大 (INT_MAX 或更大) 的字串,才能解決此問題。(CVE-2022-28614)
在 Apache HTTP Server 2.4.53 和更舊版本中,當應用程式處理超大型輸入緩衝區時,ap_strcmp_match() 中的超出邊界讀取弱點可能會造成應用程式損毀或資訊洩漏。雖然無法將隨伺服器發佈的程式碼強制轉換為此類呼叫,但使用 ap_strcmp_match() 的第三方模組或 lua 指令碼可能會受到影響。(CVE-2022-28615)
- 在 Apache HTTP Server 2.4.53 和更舊版本中,由於對可能的輸入大小沒有預設限制,惡意要求呼叫 parsebody(0) 的 lua 指令碼可能會造成應用程式拒絕服務。(CVE-2022-29404)
- 如果將 Apache HTTP Server 2.4.53 設定為在 mod_sed 的輸入可能非常大的環境中使用 mod_sed 進行轉換,則 mod_sed 可能會進行超大記憶體配置並觸發中止。
(CVE-2022-30522)
- Apache HTTP Server 2.4.53 及更舊版本可能會向呼叫 r: wsread() 的應用程式傳回指向超出為緩衝區配置的儲存區結尾的長度。(CVE-2022-30556)
- Apache HTTP Server 2.4.53 及更舊版本可能不會根據用戶端的 Connection 標頭逐跳機制將 X-Forwarded-* 標頭傳送至原始伺服器。攻擊者可利用此問題繞過原始伺服器/應用程式上的 IP 型驗證。(CVE-2022-31813)
請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。
解決方案
所有 Apache HTTPD 使用者皆應升級至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=www-servers/apache-2.4.54 所有 Apache HTTP 工具使用者皆應升級至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=app-admin/apache-tools-2.4.54
Plugin 詳細資訊
檔案名稱: gentoo_GLSA-202208-20.nasl
支援的感應器: Nessus
風險資訊
媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
時間媒介: CVSS:3.0/E:H/RL:O/RC:C
弱點資訊
CPE: cpe:/o:gentoo:linux, p-cpe:/a:gentoo:linux:apache-tools, p-cpe:/a:gentoo:linux:apache
必要的 KB 項目: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list
可輕鬆利用: Exploits are available
CISA 已知遭惡意利用弱點到期日: 2021/11/17, 2021/12/15
可惡意利用
CANVAS (CANVAS)
Metasploit (Apache 2.4.49/2.4.50 Traversal RCE)
Elliot (Apache 2.4.50 RCE)
參考資訊
CVE: CVE-2021-33193, CVE-2021-34798, CVE-2021-36160, CVE-2021-39275, CVE-2021-40438, CVE-2021-41524, CVE-2021-41773, CVE-2021-42013, CVE-2021-44224, CVE-2021-44790, CVE-2022-22719, CVE-2022-22720, CVE-2022-22721, CVE-2022-23943, CVE-2022-26377, CVE-2022-28614, CVE-2022-28615, CVE-2022-29404, CVE-2022-30522, CVE-2022-30556, CVE-2022-31813