【发布时间】:2014-06-09 12:17:00
【问题描述】:
我已经花时间查明 OpenSSL 098h 是否受到 CVE-2014-0195 的影响 ..但似乎我必须了解整个文件 d1_both.c 才能回答这个问题。
1) 初步查看已发布的补丁,0.9.8h 似乎不易受到上述 CVE 的影响,因为所有片段重组的东西都是在 0.9.8o 中添加的。补丁是关于片段重组的。
098h 中缺少函数 dtls1_reassembly_fragment(),因此可以假设我们没问题
2) 但仔细检查表明该错误是关于不检查 '片段的实际大小'与'存储在片段头中的片段长度'
在我继续理解代码流的过程中,任何帮助都非常感谢。
【问题讨论】:
-
如果我不想升级到有补丁的 098za,如何在 098h 之上修复这个漏洞?
-
是什么阻止您升级到最新的 0.9.8?所有好的发行版都应该有安全更新。
-
遗留代码在封装后使用 OpenSSL API;在坚持原则的同时切换到 OpenSSL 最新版本(已为其编写了包装器)将是一项艰巨的任务
-
经过分析,在我看来,openssl 098h 在这里没有漏洞,因为修复是在读取“SSL s*”中的缓冲消息时要小心。在 098h 中,他们从不尝试在缓冲的 msgs 中找到 msg 序列号。在 098o 之后,当 a) 他们有乱序的 msg b) 他们有 frag_len 时,他们会回顾缓冲的 msg
-
我没有使用 openssl 开发的经验,但我认为 0.9.8 行应该有一个近乎稳定的 API。但后来我听说 openssl api 是多么可怕。