🇰🇷 한글 설명
Kiota의 Java 및 PHP 문서 주석 처리기에서 블록 주석 종료 기호를 중립화하지 않고 삭제하는 취약점이 발견되었습니다. 이로 인해 공격자가 제어하는 OpenAPI 텍스트가 생성된 문서 주석 외부로 노출될 수 있으며, Java의 경우 비ASCII 문자 정규화 과정에서 새로운 종료 기호가 생성될 수도 있습니다. 공격자가 악성 설명이 포함된 소스를 생성하고 이를 컴파일하거나 로드할 경우, 대상 애플리케이션이나 빌드 환경에서 주입된 코드가 실행될 수 있습니다.
💡 쉬운 설명
코드 생성 도구가 주석을 정리하는 과정에서 실수로 보안 경계선을 지워버리는 문제입니다. 이를 통해 해커가 작성한 악성 코드가 정상적인 코드인 것처럼 속여 시스템에서 실행될 수 있습니다.
🇺🇸 원문 (English)
Kiota is an OpenAPI based HTTP Client code generator. From 0.5.0 until 1.35.0, Kiota's Java and PHP documentation-comment sanitizers delete block-comment terminators rather than neutralizing them, allowing overlapping characters to reform a terminator and place attacker-controlled OpenAPI text outside a generated documentation comment. The Java sanitizer also removes non-ASCII characters after deleting terminators, which can create a new terminator during normalization. Exploitation requires a developer or build pipeline to generate source from the malicious description and then compile and load the Java output or load the PHP output, after which injected code executes in the consuming application or build environment context. The version range is based on the Java defect and does not assert that PHP generation existed in every affected release. This issue is fixed in version 1.35.0.
📍 영향받는 시스템
Kiota version 0.5.0 ~ 1.35.0 (Java 및 PHP 관련 기능)
⚔️ 공격 벡터
악성 OpenAPI 설명이 포함된 소스를 생성한 후, 개발자나 빌드 파이프라인이 이를 컴파일하거나 로드할 때 발생
🛡️ 대응 방법
Kiota를 최신 버전인 1.35.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 Kiota의 버전을 확인하여 1.35.0 미만인지 체크하십시오.
mvn dependency:list | grep kiota || pip show kiota || composer show kiota