【cURL 作者“回怼”财富 500 强公司的“白嫖”要求 (不付钱就闭嘴!)】近日,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强公司联系到了。