聊一聊Snakeyaml 对CVE的个性反驳

Snakeyaml 是用于做java对象和yaml文件的序列化与反序列化,即是读取yaml文件的工具类。而Veracode扫描爆出了它可能存在RCE(remote code execution)的问题,大致是说它有一个构造方法对不可信的数据进行反序列化时,没有进行类型的限制,从而会导致被攻击。

而Snakeyaml作为反驳,提到了Spring已经用了建议的SafeConstructor,并且使用白名单过滤只允许创建预期配置的类。如果使用者只用yaml 作为项目的配置文件的话,那么这个是完全安全的可信任数据,并不需要担心CVE的警报。

Snakeyaml 百科也犀利的指出某些爆出他们有这种风险的工具是低配工具,工具本身利用CVE和NIST 的准则去对代码做校验,但是并不深入了解代码本身的实现,仅仅凭借工具类或者包的名称和版本就做报警,是在迷惑众人,为了彰显自己的重要性,从而从中赚钱!

若在扫描中遇到了这样的报警,完全可以申请其是假阳性(false positive)。

参考文献:

https://www.baeldung.com/java-snake-yaml

https://bitbucket.org/snakeyaml/snakeyaml/wiki/CVE-2022-1471

https://bitbucket.org/snakeyaml/snakeyaml/wiki/CVE%20&%20NIST.md

https://nvd.nist.gov/vuln/detail/CVE-2022-1471

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python资源大全中文版,包括:Web框架、网络爬虫、模板引擎、数据库、数据可视化、图片处理等,由伯乐在线持续更...
    dxl1236阅读 10,145评论 2 33
  • python 也是很值得学习的一门工具。学好python和R。 1环境管理 管理 Python 版本和环境的工具 ...
    Liam_ml阅读 10,301评论 1 51
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,497评论 19 139
  • Python 资源大全中文版 awesome-python[https://github.com/vinta/aw...
    万色星辰阅读 13,269评论 0 255
  • 转自:https://weibo.com/ttarticle/p/show?id=2309404129469920...
    xpf2000阅读 10,191评论 0 48