他们在 SHA-3 算法库中发现了一个漏洞

漏洞

如果被利用,这些漏洞可能允许攻击者未经授权访问敏感信息或通常会导致问题

已发现漏洞 (已在 CVE-2022-37454 下列出) en 加密哈希函数的实现 SHA-3 (Keccak),在 XKCP 包(扩展 Keccak 代码包)中提供。

已识别的漏洞 可能导致缓冲区溢出 在处理形成的数据期间。 问题是由于 SHA-3 特定实现的代码中的错误,而不是算法本身的漏洞。

埃尔帕克特 新科普 被吹捧为 SHA-3 的官方实现,在 Keccak 开发团队的帮助下开发,并且 用作使用 SHA-3 的函数的基础 在各种编程语言中(例如,Python hashlib 模块、Ruby digest-sha3 包、PHP hash_* 函数中使用了 XKCP 代码)。

据发现问题的研究人员说, 可以利用该漏洞违反加密属性 散列函数并找到第一个和第二个原像,以及确定冲突。

分段错误的原因是脚本会尝试将更多的数据写入缓冲区,而不是它可以容纳的数据。 这种漏洞被称为缓冲区溢出,OWASP 将其描述为“可能是最知名的软件安全漏洞形式”。

代码的一个小变种将导致无限循环:只需将 4294967295 替换为 4294967296。注意与 CVE-2019-8741 的相似性,这是我发现的另一个漏洞,影响了超过 1.400 亿台 Apple 设备的固件,这也导致了无限循环。

,宣布创建原型漏洞, que 允许在计算哈希时实现代码执行 来自一个特别设计的文件。 该漏洞还可能用于攻击使用 SHA-3 的数字签名验证算法(例如 Ed448)。 攻击方法的详细信息预计将在漏洞普遍消除后发布。

这种行为不应该发生在 Python 和 PHP 这样的“安全”语言中,因为它们会检查所有的读写操作是否都在缓冲区范围内。 但是,问题在于该漏洞存在于底层“不安全”的 C 语言中......

然而 目前尚不清楚该漏洞如何影响实践中的现有应用程序,因为要在代码中体现问题,必须对块使用循环哈希计算,并且处理的块之一的大小必须约为 4 GB(至少 2^32 – 200 字节)。

当一次处理输入数据时(没有按部分顺序计算哈希),问题不会出现。 作为一种更简单的保护方法,建议限制一次哈希计算迭代中涉及的数据的最大大小。

易受攻击的代码于 2011 年 XNUMX 月发布,因此花了十多年的时间才发现此漏洞。 似乎很难在加密实现中找到漏洞,即使它们在系统的整体安全性中起着关键作用。 (也许人们甚至没有在寻找这样的漏洞,因为 XKCP 中的这个漏洞和上面提到的 Apple 漏洞都没有资格获得任何漏洞赏金计划!)

脆弱性 是由于输入数据的块处理错误. 由于“int”类型的值比较不正确,确定了未完成数据的大小不正确,这导致队列被写出分配的缓冲区。

特别提到,在比较时,表达式«部分块 + 实例-> byteIOIndex«,其中组件部分的值很大,导致整数溢出。 此外,代码中的类型转换“(unsigned int)(dataByteLen - i)”不正确,导致 64 位 size_t 类型的系统溢出。

最后 如果您有兴趣了解更多有关它的信息,您可以在中查看详细信息 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。