最近造訪過的頁面
最近造訪過的頁面

Apache HTTPd 認為有害裝置

[驗證] 最近更新 作者: Joe Schaefer週三, 13 5月 2026    來源
 

刺青與羽毛

背景

過去 25 年來,我一直是apreq 子專案在Apache HTTPd 伺服器 上階專案。原來的想法libapreq,作為安全 / 效能HTML 表單提交Cookie 通知 剖析程式庫,來自 Lincoln Stein 與 Doug MacEachern 在 90s 末期的合作。

我之後的願景是將圖書館轉變為一般、非 Perl 相關C 支援其他程式設計語言之語言連結的程式庫,這就是為什麼我要推送專案同居 在 HTTPd 傘形下,而不是Apache-Perl 專案。

迎合的な RoHS httpd-2.X,全新I/O Filter 架構從httpd 核心,以及完整的分離APR 從核心本身,成為更一般用途的 POSIX 式可攜性程式實際執行C 專案類似Subversion。事實上,libapreq2 更緊密配合Apache APR 該精神中的專案,而其 Perl API 反映出作為其一部分APR::Request 建置。它具有內建的 CGI 模式,適用於獨立作業,不在httpd 執行階段,讓單元測試變得輕而易舉。

然而,主要部分為apreq2 一直以來都是mod_apreq2 Apache 模組,由Bill Wrowe 在早期的 2000s。他與我 (親自) 進行腦力激盪會談時所設計的是內部的單一剖析器程式庫httpd,** 共用 *已提交要求 body 與執行階段中的每個主要利害關係人模組共用。這代表將剖析資料提供給連結至要求處理引擎的模組 ( 之前 期間 *以及內容處理程式執行之後 *)。不論內容處理程式是否使用已剖析的資料,還是使用並重新剖析原始要求主體本身,也需要對子要求執行工作。

我多年來多次解釋了設計目標,即便在 2012 年,裝置 @httpd。但他們總是喜歡和這些男人談風,他們永遠不會害怕。

Storm Clouds 聚會

雖然此願景大致成功,但語言組合適用於多種語言,例如Perl, PHP, TCL, R自 2010 年以來,它已經證明了悲劇現有使用者社群 包含所有,不只是成員Perl 社群。

發生了什麼事?Philip Gollucci當時,Perl/FreeBSD 的礦場同事開始認同我們推廣該項目從 HTTPd 伺服器本身內部發行。什麼菲利普的背面不太清楚,那就是說的。貧困、快速和領土 該團隊已經成為,這意味著必須直接與他們合作使用者面向決策 關於程式碼庫。

2012 年,菲利普得到了他想要的東西,而我阻止了,所以他已叉生 現有專案並複製C 程式庫元件進入 HTTPd 核心。

誤差

2018 年 我已從基金會辭職1 個。您可以猜測原因。

2020 年以後,Google 的安全性團隊透過對其 8 年歷史的 httpd 2.5 版感到震驚,充分利用其 Alpha 版的優勢apreq2。他們發現一些需要修復的熱點。

沒有禮貌地來到菲利普,Issac Goldstand, Max Kellermann (@MaxKellermann)、我自己 (@joesuf4) 或參與開發的其他人libapreq2,HTTPd 團隊的初級工程師就以下業務展開討論:”錯誤修正” 找到 Google 漏洞。自此之後,您可以在每個版本中查看其試用和錯誤工作的記錄。

當然,CVE 的報告是由業餘撰寫的:

  1. 不可能造成緩衝區溢位 (透過架構設計),因此這類宣告一律是蜂蜜;如從未發布任何漏洞程式碼的事實證明。

  2. 儘管我有最好的努力,但可以進行 NULL 指標去除;初級開發人員在幾年前進行徹底清除。

  3. 我在二十年前和 MIME 標頭的字集編碼有關,這在格式良好時總是 7 位 ASCII 清潔。那是錯誤的剖析器邏輯 是程式碼庫整個歷史記錄中唯一有意義的安全性考量— 與 NPE 一樣,所有的攻擊者都可能當機 Web 伺服器。當然,在前叉設定中,這將自己以駭客身分射擊;但使用 @joesuf4/mod_perl 時,現在可以在 HTTP/2 內以 mpm_event 執行。因此,消除所有形式的伺服器當機是非常重要和必要的工作。初級開發人員希望在 @apache/apreq 的主幹中取得該項最終成就,獲得許多肯定。讚賞。

但優待券是 2022 年發行的2.17,其中 rookie 開發人員純粹引入 codebase 中的嚴重錯誤,斷裂19 歲的迴歸測試.

後期攤銷

假如你想知道有什麼問題,有了破損的迴歸測試 / 出色的 CVE 倒退CPAN 作為一個永久夾具,你必須了解如何重連 在伺服器專案中完成。

長篇短篇,他們對這項測驗發表了評論 並將它寄出,並稱之為「安全發行版本」,修正每個先前版本容易遭受的漏洞.

Superman 標誌

我為什麼要關心?因為我是吸吮者使用者已聯絡尋求答案 作為已知的主題專家。

此吸管2 個,但我很抱歉告訴你,我穿著阿帕奇超級人帽的日子大約十年前結束。

在任何情況下,我現在可以做到最好是顯示 libapreq2 的生產來源樹狀結構。— @joesuf4/apreq (和 @joesuf4/mod_perl)。

註腳

  1. 不只是一個人”辭職於 ASF”。若要清理休息,必須從不只是「ASF」會員資格辭職,但從每個專案 / 委員會中,一個是其成員。否則,一陣子在永不停滯的 Apache 電子郵件垃圾郵件中溺斃。

  2. Beta 男性母親投注 @apache/apreq 專案,並繼續前往 @apache/mod_perl,因為 Beta 男性與時間無關。Yann Ylavic, the “搖桿顯像劑” 上述當他的隊友使他失敗時,實際工作的人,並沒有投下投票來撤回這項計畫。令人驚訝的是,因為他是個問題解決者,而不是一個 Beta 男性。