cURL 作者“回懟”財富 500 強公司的“白嫖”要求 :不付錢就閉嘴!

MissD發表於2022-02-01

近日,cURL 的作者 Daniel Stenberg 釋出的一篇推文引起了熱議。文中,他禮貌的“回懟”了來自500強公司對其技術支援“白嫖”的無理要求——“要麼付錢,要麼閉嘴!”

據悉,該事件的起因是一家美國《財富》500 強公司因去年 12 月份的 Apache Log4j 漏洞事件,而發來了一封電子郵件(該公司或其客戶可能正在使用 cURL)詢問一系列問題,以瞭解 cURL 是否依賴於 Log4j,並要求 cURL 的作者須在收到這封郵件的 24 小時內儘快、免費地回覆。

該郵件原文下方,這家財富 500 強公司(以NNNN代表)還列出了一系列有待 cURL 的作者 Daniel Stenberg 回答的問題:

貴公司是否發生過任何經證實的安全事件?
如果有,哪些應用程式、產品、服務和相關版本受到影響?
是否有任何 NNNN 的產品和服務受到影響?
NNNN 非公開資訊或個人資訊是否受到影響?
如果是,請立即向 NNNN 提供受影響資訊的細節。
完成補救措施的時間表是什麼?列出這些步驟,幷包括每個步驟的日期。
需要 NNNN 採取什麼行動來完成這一補救措施?
……

收到這封郵件之後,cURL 的作者 Daniel Stenberg 感到十分好笑,因為他從未參與過任何 Log4j 的開發工作,也就是他和這件事情沒有一點兒關係。

但既然郵件裡要求他必須儘快回覆,因此他也禮貌而“剋制”的做了答覆:“只要我們簽署了支援合同,我就會立即回信”。同時,他也將對該事件放在了推特上“吐槽”:

“如果你是一家價值數十億美元的公司,當你關心 Log4j 的時候,為什麼不給那些你從未支付過任何費用的 OSS 作者發郵件要求他們在 24 小時內免費回覆大量資訊並出示收到的郵件呢?”

cURL 作者“回懟”:郵件裡的內容無知程度令人震驚

可能是這件事情真的有點太莫名其妙了, Daniel Stenberg 隨後還專門寫了一篇博文評價這件事情:

“2022 年 1 月 21 日星期五,我收到了這封電子郵件。我在推特上發了這條訊息,然後離開了。

這封郵件來自一家價值數十億美元的《財富》500強公司,該公司顯然可能會使用包含我的程式碼的產品,或者他們可能有這樣的客戶。誰知道呢?

我猜他們這樣做是出於法規遵從性的原因,他們“忘記”了他們的開源元件不是由“合作伙伴”自動提供的,他們可以簡單地要求提供這些資訊。

我很簡短地回覆了這封郵件,並表示一旦我們簽署了支援合同,我很樂意回覆詳細資訊。

我認為這可能是開源金字塔模式的一個很好的例子,高層的人根本不考慮如何維護底層。不用擔心房子所在的地面就可以蓋房子。”

......

“這封郵件中顯示的無知和無能程度令人震驚。

雖然他們甚至沒有明確說明他們使用的是什麼產品,但我所涉及的任何程式碼或受版權保護的程式碼都不會使用 log4j,任何新手或更好的工程師都可以輕鬆地找到。

在電子郵件的影像版本中,我填寫了姓名欄位,以便更好地匿名發件人,在下面的文字中,我將其替換為 NNNN。(是的,非常奇怪的是,他們現在向log4j傳送請求,顯然已經很晚了。)”

在 Daniel Stenberg 的推特和部落格帖子中,他刪除了該 500 強公司的名字,並給出了理由:我可能有權力告訴你他們是誰,但我還是不願意。(尤其是如果我能與他們簽訂一份有利的商業合同的情況下)。

cURL 作者強調:與 Log4j 事件“毫無關係”

時間回到去年 12 月 9 日,Apache Log4j 日誌庫中發現了一個漏洞。該庫通常用於 Java/J2EE 應用程式開發專案,以及基於 Java/J2EE 的現成軟體解決方案的釋出者。

Log4j 包括一種搜尋機制,可以用來通過格式字串中的特殊語法進行查詢。例如,它可以用於通過 $Java:version 等請求 Java 環境版本等各種引數。然後,通過在字串中指定 jndi 鍵,搜尋機制使用 jndi API。預設情況下,所有請求都使用字首 java:comp/env/*;然而,作者已經實現了在鍵中使用冒號來使用自定義字首的選項。這就是漏洞所在:如果 jndi:ldap://is 作為金鑰,該請求將傳送到指定的 LDAP 伺服器(也可以使用其他通訊協議,如 LDAP、DNS 和 RMI) 。

因此,由攻擊者控制的遠端伺服器可能會將物件傳送回易受攻擊的伺服器,從而可能導致在系統中執行任意程式碼或洩露機密資料。攻擊者只需通過將該字串寫入日誌檔案的機制傳送一個特殊字串,然後由 Log4j 庫處理。這可以通過簡單的 HTTP 請求完成,如通過 web 表單、資料欄位等傳送請求,或使用伺服器端日誌記錄的任何其他型別的互動。

這種脆弱性被認為是過去十年中最重要和最嚴重的。

對此,cURL 的作者提出了質疑:

cURL(client-URL-request-library:URL-request-library for clients 或 see-URL:see-URL)是一個命令列介面,用於檢索計算機網路可訪問的資源的內容。資源是使用 URL 指定的,並且必須是軟體支援的型別。該軟體允許使用者建立或修改資源(與 wget 不同),因此可以將其用作 REST 客戶端。

cURL 程式實現了使用者介面,基於用 C 語言開發的 libcurl 軟體庫。因此,希望在程式中具有網路訪問功能的開發人員可以訪問該庫。介面已經用多種語言建立​​(C++、Java、.NET、Perl、PHP、Ruby…)。

La bibliothque 支援檔案、FTP、FTPS、Gopher、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAP、POP3、POP3、RTSP、SCP、SFTP、SMB、SMB、SMTP、SMTPS、Telnet 等 TFTP 協議。

可以看得出,cURL 開原始碼與 Log4j 事件毫不相干。儘管如此,此次事件裡,cURL 的作者 Daniel Stenberg 依然在 Log4j 漏洞的背景下被一家《財富》500強公司聯絡到了。

相關文章