
このプロジェクトは、json.org における CVE-2022-45688 を示しています。シンプルなアプリケーション XML2JSONConverter があり、入力からXMLを読み取り、JSONに変換してコンソールにプリティプリントします。
悪意のある入力を使用すると、アプリケーションがスタックオーバーフローでクラッシュします。
テストケース CVE202245688Test はこの動作を示しており、mvn test を実行することで実行できます。
異なる分析を実行するためのいくつかのshスクリプトがあり、結果レポートは scan-results にあります。
SCAレポート(GitHub Actionsとして設定されたものを含む)は CVE-2022-45688 を報告できませんが、含まれているテストはそれが存在することを明確に示しています。その理由は、メタデータ分析のみ(つまり宣言された依存関係)に基づくツールが、プロジェクトが json.org の(脆弱なバージョンの)シェード化バージョン を使用していることに気づかないためです。
シェーディングは手動で行われていることに注意してください。つまり、Maven shadeプラグインは使用されていません。 私たちの最近の研究 は、これがソフトウェア構成分析の偽陰性の一般的な原因であることを示唆しています。
pom.xml には、CycloneDX 形式で SBOM を生成するプラグインがあります。これを行うには、mvn cyclonedx:makePackageBom を実行します。SBOMは target/ に json と xml 形式で見つかります。