跳到主要内容
博客安全问题Linode安全摘要 2022年10月30日-11月6日

2022年10月30日-11月6日Linode安全摘要

Linode安全摘要

在本周的文摘中,我们将讨论。

  • 一个OpenSSL 3.0.0版本的安全公告;
  • 一个Sqlite数组边界溢出的漏洞;以及
  • 一个GitHub的劫持攻击。

Openssl安全咨询

OpenSSL3.0.0最近解决了两个漏洞:CVE-2022-3602和CVE-2022-3786。 

CVE-2022-3602,评级为关键(9.8/10),涉及一个4字节的堆栈缓冲区溢出,可导致DoS或代码执行。为了成功利用,目标需要对恶意证书进行X509证书验证,特别是名称约束检查。攻击者可以制作一个恶意的电子邮件地址来溢出堆栈上四个攻击者控制的字节。也就是说,该攻击可能会被现代操作系统中通常启用的堆栈溢出保护所挫败。该漏洞最初被OpenSSL描述为关键性的,进一步的分析导致严重程度降为高。虽然在写这篇文章的时候,基本得分是9.8(关键)。  

CVE-2022-3786,评级高(7.5/10),是另一个缓冲区溢出,由恶意的tls证书触发。与上述漏洞类似,该攻击需要攻击者用一个恶意的电子邮件地址制作一个证书。区别在于可用于导致溢出的字符,仅限于`.'字符(十进制46),这导致服务崩溃或拒绝服务。 

我们鼓励利用OpenSSL 3.0的用户尽快升级到最新版本。这篇博文可能有助于帮助用户确定他们的环境中是否使用了有漏洞的库的版本。  

Sqlite数组边界溢出漏洞

TrailofBits披露了一个流行的DBMS库Sqlite的高严重性漏洞,最近打了补丁。这个漏洞分配的CVE是CVE-2022-35737,评分是7.5/10。  

该漏洞是 SQLite 1.0.12 至 3.39.x (3.39.2 之前)中的数组溢出,影响使用 SQLite 库 API 的应用程序。漏洞的可利用性取决于 SQLite 的编译方式;如果程序在编译时未启用堆栈金丝雀,则有可能执行代码。该漏洞在 2000 年 10 月 17 日发布的 v1.0.12 中引入。 

根据消息来源,"在易受攻击的系统上,当大的字符串输入被传递到printf函数的SQLite实现,以及当格式字符串包含%Q、%q或%w格式替换类型时,CVE-2022-35737可被利用。"这减少了攻击面和应用程序通过该漏洞实际被利用的可能性,尽管仍然强烈建议用户在使用该组件的情况下评估风险。   

经过修补的SQLite v3.39.2版本可供用户在其应用程序中升级到该版本。依赖于使用有漏洞的SQLite库的工具的用户需要等待代码维护者发布补丁。Trailofbits还发布了漏洞的POC,可以在GitHub上找到。  

Github Repojacking

Checkmarx披露了另一种攻击供应链的方法,即针对github.com上的代码库。这种攻击被称为 "劫持"(repojacking),涉及通过绕过微软为这种类型的攻击设定的预先存在的安全控制来接管一个存储库。这个控制被称为 "流行-存储库-命名空间-退休",基本上不允许GitHub用户创建名称与停用用户之前使用的相同用户名相匹配的存储库,如果该存储库在用户名变更前的一周内有超过100个克隆。这是GitHub在2021年checkmarx披露了一个类似的漏洞后实施的缓解措施。 

新的攻击通过利用github的一个叫做 "资源库转移"的功能来绕过缓解措施。以下是该攻击的实施方式:

  1. "受害者/repo "是在 "热门仓库命名空间退役 "保护下退役的GitHub热门仓库。
  2. "helper_account "创建 "repo "存储库
  3. "helper_account "将 "repo "资源库的所有权转移给 "attacker_account"。
  4. "attacker_account "将其用户名重命名为 "victor"。
  5. 新的 "受害者 "账户(以前是 "攻击者_账户")接受所有权转移,基本上接管了目标存储库。

这个漏洞的修复已经被应用。Checkmarx还发布了一个工具来检查哪些golang的直接依赖关系可能会受到这种类型的攻击。 


注释

留下回复

您的电子邮件地址将不会被公布。 必须填写的字段被标记为*