
Apache Dubbo CVE-2023-23638 の PoC
学習・研究のみを目的としています
ZooKeeper はご自身で用意してください
テスト環境は Java 8 です。その他のバージョンは未テストのため、動作を保証できません
再現する際は DemoComsumer に VM 引数を追加する必要があります: -Ddubbo.hessian.allowNonSerializable=true, 詳細は https://su18.org/post/hessian/#serializable を参照してください
分析記事: https://exp10it.io/2023/03/apache-dubbo-cve-2023-23638-%E5%88%86%E6%9E%90/
POC の本質は、特定の class を使用して properties を変更し、制限を回避することです。コードは JNDI インジェクションで実装されています。CVE-2023-23638 Apache Dubbo JavaNative 逆シリアル化の脆弱性分析 を参考にして、ご自身で逆シリアル化を利用する方式に変更できます