
CVE-2022-45688 취약점이 있는 간단한 애플리케이션
이 프로젝트는 json.org의 CVE-2022-45688을 설명합니다. -- 입력에서 XML을 읽어 JSON으로 변환하고 콘솔에 보기 좋게 출력하는 간단한 애플리케이션 XML2JSONConverter가 있습니다.
악의적인 입력을 사용하면 애플리케이션이 스택 오버플로(stackoverflow)로 인해 충돌합니다.
테스트 케이스 CVE202245688Test는 이러한 동작을 보여주며, mvn test를 실행하여 수행할 수 있습니다.
다양한 분석을 실행하기 위한 여러 sh 스크립트가 있으며, 결과 보고서는 scan-results에서 찾을 수 있습니다.
SCA 보고서(GitHub Actions로 설정된 것들 포함)는 CVE-2022-45688을 보고하지 못합니다. 포함된 테스트가 해당 취약점이 존재함을 명확히 보여줌에도 불구하고 말이죠. 그 이유는 메타데이터 분석(즉, 선언된 의존성)만 기반으로 하는 도구들은 프로젝트가 json.org의 (취약한 버전의) shaded 버전을 사용한다는 것을 인식하지 못하기 때문입니다.
셰이딩은 수동으로 수행됩니다. 즉, Maven shade 플러그인은 사용되지 않습니다. 저희의 최근 연구에 따르면 이것이 소프트웨어 구성 분석 미탐의 일반적인 원인입니다.
pom.xml에는 CycloneDX 형식의 SBOM을 생성하는 플러그인이 있습니다. 이를 실행하려면 mvn cyclonedx:makePackageBom을 실행하세요. SBOM은 target/에서 json 및 xml 형식으로 찾을 수 있습니다.