漏洞概述 漏洞名称: QtCodec: avoid read-past-buffer in codeForName() 漏洞描述: 在QtCodec中, 函数存在一个潜在的缓冲区读取越界问题。该函数接受一个 类型的参数,并隐式调用 。调用者期望该参数以NULL终止,但如果 是从 创建的,则不保证这一点。 影响范围 影响版本: 所有使用QtCodec库的版本,特别是那些从 创建 的场景。 潜在风险: 可能导致缓冲区读取越界,进而引发数据泄露或程序崩溃。 修复方案 修复措施: 在较新的Qt版本中, 已经实现了 方法,但需要进一步确认并采用 来确保空终止。 代码变更: - 在 中修复了 函数中的越界读取问题。 - 修改了 函数,确保参数以NULL终止。 代码变更 其他信息 提交者: Marc Mutz 审查者: Giuseppe D'Angelo, Jani Heikkinen, Qt Sanity Bot 状态: 已合并 日期: 2023年3月25日 相关文件 评论 Giuseppe D'Angelo: Code-Review +1 Marc Mutz: 更新了补丁集,更新了提交消息。 日志 Marc Mutz: 上传了补丁集1,预检请求,参数为默认值,buildonly: false, cherrypick: false。 Marc Mutz: 上传了补丁集2,更新了提交消息,更新了投票。 关系链 相关补丁: - Enable strict mode 6.11 (Merged) - Enable strict mode 6.9.1 (Merged) - QJniObjectConv.cpp (Merged) - tst_QJniObjectReader.cpp (Merged) - tst_QJniCodec.cpp (Merged) - QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp (Merged) - tst_QJniCodec.cpp