'com.github.jknack:handlebars: 4.3.0' 在 commons-text version 1.9 中存在漏洞



实现组:'com.github.jknack',名称:'handbars',版本:'4.3.0'

这个版本的车把具有公共文本,作为pom的一部分。即使在排除时,它也不会被排除在下载依赖之外

关键
org.apache.commons_commons-textCVE-2022-42889
固定在:1.10.04天前还剩40天6.受影响的版本:>1.5和<1.10.0发现时间:不到一小时前发布时间:4天前Apache Commons Text执行变量插值,允许动态评估和扩展属性。插值的标准格式是"${prefix:name}";,其中";前缀";用于定位执行插值的org.apache.commons.text.loookup.StringLookup的实例。从1.5版开始,一直到1.9版,默认的Lookup实例集包括可能导致任意代码执行或与远程服务器联系的插值器。这些查找是:;脚本"-使用JVM脚本执行引擎(javax.script(执行表达式-";dns"-解析dns记录-";url"-从url加载值,包括从远程服务器加载值如果使用不受信任的配置值,则在受影响的版本中使用插值默认值的应用程序可能容易受到远程代码执行或无意中与远程服务器接触的影响。建议用户升级到Apache Commons Text 1.10.0,默认情况下会禁用有问题的插值器。

此报告看起来是假阳性。commons文本的存在并不表明它易受攻击。

参考

GitHub的安全博客将这个问题描述如下

与默认插值器一起使用时的StringSubstitutor(StringSubstitutior.createInterpolator(((将执行字符串查找这可能导致任意代码执行。

特别是,如果不受信任的数据流入StringSubstitutor.replace((或StringSubstitutior.replaceIn((方法,攻击者将能够使用ScriptStringLookup来触发任意代码执行。

如果我们检查handlebas的pom.xml,它会使用shade插件来包括一些commons文本类,但不是全部。这是通过shade插件的minimizeJar功能完成的。如果我们看到这个jar文件,我们就找不到StringSubstitutior类。

<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>standalone</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
<artifactSet>
<includes>
<include>org.apache.commons:commons-lang3</include>
<include>org.apache.commons:commons-text</include>
<include>org.antlr:antlr4-runtime</include>
</includes>
</artifactSet>
<relocations>
<relocation>
<pattern>org.apache.commons.lang3</pattern>
<shadedPattern>com.github.jknack.handlebars.internal.lang3</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.text</pattern>
<shadedPattern>com.github.jknack.handlebars.internal.text</shadedPattern>
</relocation>
<relocation>
<pattern>org.antlr.v4.runtime</pattern>
<shadedPattern>com.github.jknack.handlebars.internal.antlr</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>

我们一直在处理同样的问题,并决定升级到车把上的更高版本,该版本不尝试包含commons文本1.6,而是1.10.1,该版本没有任何漏洞问题。

我们使用了4.3.1,这是目前的最新版本。

相关内容

  • 没有找到相关文章

最新更新