영향
개발자나 CI 작업이 공격자가 제어하거나 영향을 준 OpenAPI 설명에 대해 영향받는 Microsoft Kiota 릴리스를 실행하면, 외부 $ref 항목으로 인해 빌드 호스트가 원격 HTTP(S) 리소스를 가져오거나 로컬 파일 및 프로젝트 트리 밖의 파일을 읽을 수 있습니다. 참조된 콘텐츠는 생성된 클라이언트 코드에 인라인으로 포함된 뒤 커밋되거나 배포될 수 있으며, 그 결과 공격자가 원래 읽을 수 없던 데이터가 노출될 경로가 생깁니다. 공급업체 권고에서 입증된 영향은 서버 측 요청 위조와 원격 또는 로컬 파일 포함으로 제한되며, 코드 실행은 보고되지 않았습니다 [S1] [S2].
근본 원인
영향받는 NuGet 패키지는 Microsoft.OpenApi.Kiota와 Microsoft.OpenApi.Kiota.Builder입니다. 검토된 권고는 두 패키지 모두에 대해 서로 떨어진 두 개의 영향 범위를 제시합니다. 1.29.1 이전 릴리스와 1.30.0 이상 1.32.5 미만 릴리스입니다 [S1] [S2]. 해당 릴리스는 생성 과정에서 외부 OpenAPI 참조를 확인할 때 출처나 경로를 기본적으로 거부하는 정책이 없었습니다.
해결 방법
이전 릴리스 계열은 1.29.1로, 현재 릴리스 계열은 1.32.5 이상으로 업그레이드하세요 [S1] [S3] [S4]. 수정된 릴리스는 신뢰할 수 있는 출처나 경로가 명시적으로 허용되지 않는 한 외부 참조를 기본적으로 거부합니다. 허용 목록은 좁게 유지하고 와일드카드 신뢰를 피하며, 생성 전에 외부 OpenAPI 설명을 검토하고 빌드 작업자의 네트워크 및 파일 시스템 접근을 제한하세요.
FixVibe 지원 범위
FixVibe의 GitHub 저장소 스캔은 지원되는 .NET 및 NuGet 매니페스트와 잠금 파일에서 Microsoft.OpenApi.Kiota 및 Microsoft.OpenApi.Kiota.Builder의 영향받는 종속성 증거를 식별합니다. 정확히 확인된 버전은 신뢰도 높은 버전 증거를 제공하고, 영향받는 릴리스를 포함할 수 있는 선언된 범위는 더 낮은 신뢰도로 보고됩니다. 이는 버전 기반 권고입니다. FixVibe는 Kiota를 실행하거나 외부 참조를 따라가지 않으며, 파일을 읽거나 탐색 요청을 보내지 않습니다. 또한 OpenAPI 설명이 공격자에게 제어되는지 확인하지 않으며, SSRF 또는 파일 포함이 발생했다고 주장하지 않습니다 [S1] [S2].
