【发布时间】:2022-11-29 05:06:13
【问题描述】:
在 Android 应用程序中发现了一个漏洞 CVE-2022-38750。
正如我在mvnrepository.com/artifact/org.yaml/snakeyaml上看到的,这个漏洞在蛇药图书馆。在应用程序中,没有直接使用这个库。
使用后:
.\gradlew app:dependencies --configuration xyz
我没有看到这个库在任何地方都被使用过。
如何找到哪个库在依赖项中有 snakeyaml?
【问题讨论】:
-
也许这是您正在使用的库之一的依赖项?尝试查看他们的 Maven 人工制品
-
@Shark 我如何查看库依赖项?
.\gradlew app:dependencies没有列出所有依赖项? -
库可以重新打包并包含在其他库中,这样它们就不会显示为依赖项。将您拥有的 APK 文件加载到 Jadx 等反编译器中,并搜索 snakeyaml 相关包或字符串。如果你在属于 snakeyaml 的类之外找到对 smakeyaml 类的引用,你就有了一个起点(假设这个包没有被混淆,或者你设法找到一个字符串,让你猜测它属于哪个库。
-
不,
./gradlew app:dependencies没有列出所有依赖项,我认为它也省略了传递依赖项。理想情况下,你想找到绘制依赖图的插件,然后在其中的某处找到 snakeyaml,沿着依赖链向上移动到你认识的库,然后希望告诉依赖项不要包含(排除)snakeyaml 并且仍然有一个功能正常的无崩溃应用程序。实际上,情况很可能并非如此:D 请参阅link