开源项目由各种SAML实现使用

多个SAML实现使用的Apache项目Xalan-J中的漏洞,可以允许任意代码执行

研究人员警告说,Xalan-j(由多个SAML实现使用的Apache项目)中的漏洞可以允许任意执行。

XSLT(可扩展的样式表语言转换)是一种标记语言,可以将XML文档转换为其他格式,例如HTML。

Xalan-J是XSLT处理器的Java版本实现。

处理恶意XSLT样式表时,该项目容易遭受整数截断问题的影响,发现由Google Project Zero的Felix Wilhelm。


阅读更多有关网络安全漏洞的最新新闻beplay体育能用吗


他警告说,此问题可用于损坏由内部XSLTC编译器生成的Java类文件并执行任意Java字节码,他警告说,允许使用XALAN-J在软件中进行任意代码执行,以处理不信任的XSLT StylesHeets。

Wilhelm警告说,由于Xalan-J在OpenJDK中使用XML签名验证期间执行XSLT转换,因此此错误可能会影响大量基于Java的SAML实现。

SAML是一种身份验证方法,它使用户能够使用一组登录凭据访问多个Web应用程序。beplay体育能用吗

缓解

研究人员指出,XSLT对XML签名的支持可以使用org.jcp.xml.dsig.securevalidation但是,在JDK 17之前,属性,未经安全管理器运行的应用程序的默认值是错误的,“因此我希望很多实现很容易受到影响”。

博客文章威廉(Wilhelm)于8月份出版,他说他能够为此错误编写概念验证(POC)利用“生成一个有效(但无用的)类文件,几乎完全由攻击者控制”。

He continued: “While I haven’t successfully executed my own bytecode yet I’m very confident that this is possible with a bit more time investment, so I am reporting this issue now and may follow-up with a more complete proof-of-concept at a later stage.”

此后,另一位研究人员产生了他们自己的POC对于脆弱性,更多的细节可以是在github上找到

此后,该漏洞已固定在OpenJDK,Java Standard Edition(Java SE)和Java Development Kit(JDK)的开源实现中。

威廉指出,它尚未在Apache的版本中修复,正在退休


推荐的Manageengine漏洞构成密码管理软件的代码注入风险