CVE-2024-4420

受影响的版本
Tink C++ 2.1.2 及更早版本。

说明

  • 如果攻击者提供的输入不是编码的 JSON 对象,但仍是有效的编码 JSON 元素(例如数字或数组),攻击者便可以使用 Tink C++ 中的 crypto::tink::JsonKeysetReader 使二进制文件崩溃。这会崩溃,因为 Tink 只是假设任何有效的 JSON 输入都将包含一个对象。

  • 通过提供包含许多嵌套 JSON 对象的输入,攻击者可以利用 Tink C++ 中的 crypto::tink::JsonKeysetReader 使二进制文件崩溃。这可能会导致堆栈溢出。

如果从不受信任的外部来源(例如由其他方提供的公钥)读取 JSON 密钥集,则用户会受到此问题的影响。