end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

java FasterXML jackson-databind における デシリアライゼーション 対応

java FasterXML jackson-databind においてデシリアライゼーションに伴う脆弱性が、 CVEで報告され、試しに関連資料を読んでみました。

1. java FasterXML jackson-databind とは

https://kazuhira-r.hatenablog.com/entry/20131005/1380963987 https://qiita.com/opengl-8080/items/b613b9b3bc5d796c840c

2. デシリアライゼーションに伴う脆弱性とは?

https://blog.tokumaru.org/2017/09/introduction-to-object-injection.html https://graneed.hatenablog.com/entry/2019/04/06/154157

3. java FasterXML jackson-databind における 脆弱性とは?

https://jvndb.jvn.jp/ にある通り、情報取得、改ざん、DoSの可能性があるそうです。 参照:

CVE~ 概要
2019-17267 入力確認に関する脆弱性による情報漏洩/改ざん、DoSの可能性
2019-14893 無信頼データのde-serialize脆弱性による 情報漏洩/改ざん、DoSの可能性
2020-8840
2020-9546
2020-9547
2020-9548

4. 上記3 CVEに対する java FasterXML でのチケットと修正ver

CVE~ チケット 修正ver
2019-17267 Block one more gadget type (ehcache, CVE-2019-17267) · Issue #2460 · FasterXML/jackson-databind · GitHub 2.9.10
2019-14893 Block one more gadget type (xalan2) · Issue #2469 · FasterXML/jackson-databind · GitHub  〃
2020-8840 Block one more gadget type (xbean-reflect/JNDI - CVE-2020-8840) · Issue #2620 · FasterXML/jackson-databind · GitHub 2.9.10.3
2020-9546 Block one more gadget type (shaded-hikari-config, CVE-2020-9546) · Issue #2631 · FasterXML/jackson-databind · GitHub 2.9.10.4
2020-9547 Block two more gadget types (ibatis-sqlmap, anteros-core; CVE-2020-9547 / CVE-2020-9548) · Issue #2634 · FasterXML/jackson-databind · GitHub
2020-9548 Block two more gadget types (ibatis-sqlmap, anteros-core; CVE-2020-9547 / CVE-2020-9548) · Issue #2634 · FasterXML/jackson-databind · GitHub

5. 上記3 CVEに対する 修正src コミット詳細

主要な修正src (中でも SubTypeValidator.java )

v2.9.9.3→v2.9.10

Comparing jackson-databind-2.9.9.3...jackson-databind-2.9.10 · FasterXML/jackson-databind · GitHub

v2.9.10→v2.9.10.3

Comparing jackson-databind-2.9.10...jackson-databind-2.9.10.3 · FasterXML/jackson-databind · GitHub

v2.9.10.3→v2.9.10.4

Comparing jackson-databind-2.9.10.3...jackson-databind-2.9.10.4 · FasterXML/jackson-databind · GitHub