🔍 CVE-2023-25558

7.5
CVSS Score
HIGH
2023-02-11
2026-06-17 05:41
✅ 완료

🇰🇷 한글 설명

오픈소스 메타데이터 플랫폼인 DataHub가 SSO 인증 시 사용하는 pac4j 라이브러리에서 발생하는 취약점입니다. id_token의 클레임 값이 {#sb64}로 시작할 경우 이를 직렬화된 Java 객체로 처리하여 역직렬화하는 과정에서 원격 코드 실행(RCE)이 발생할 수 있습니다. 제한된 객체 입력 스트림이 존재하지만, 여전히 다양한 가젯 체인을 통한 공격 가능성이 남아 있습니다.

💡 쉬운 설명

로그인 인증 과정에서 특수한 코드가 포함된 데이터를 받으면, 시스템이 이를 잘못된 방식으로 해석하여 해커가 원격에서 명령을 실행할 수 있는 보안 약점입니다. 인증 토큰에 조작된 데이터를 넣어 시스템의 제어권을 탈취할 수 있습니다.

🇺🇸 원문 (English)

DataHub is an open-source metadata platform. When the DataHub frontend is configured to authenticate via SSO, it will leverage the pac4j library. The processing of the `id_token` is done in an unsafe manner which is not properly accounted for by the DataHub frontend. Specifically, if any of the id_token claims value start with the {#sb64} prefix, pac4j considers the value to be a serialized Java object and will deserialize it. This issue may lead to Remote Code Execution (RCE) in the worst case. Although a `RestrictedObjectInputStream` is in place, that puts some restriction on what classes can be deserialized, it still allows a broad range of java packages and potentially exploitable with different gadget chains. Users are advised to upgrade. There are no known workarounds. This vulnerability was discovered and reported by the GitHub Security lab and is tracked as GHSL-2022-086.

📍 영향받는 시스템

DataHub (SSO 인증을 사용하며 pac4j 라이브러리를 사용하는 버전)

⚔️ 공격 벡터

SSO 인증 과정에서 조작된 {#sb64} 접두사가 포함된 id_token 클레임 값을 전송하여 역직렬화 유도

🛡️ 대응 방법

DataHub를 최신 보안 패치가 적용된 버전으로 즉시 업그레이드

🔧 검증 코드

명령어 결과에서 사용 중인 pac4j 라이브러리의 버전이 취약한 버전인지 확인

Shell / Script
grep -r "pac4j" /path/to/datahub/lib 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H