🇰🇷 한글 설명
Lemur 1.9.3 미만 버전에서 권한이 있는 사용자가 재검증 없이 acme_url을 업데이트하여 공격자가 제어하는 ACME 서버로 설정할 수 있는 취약점이 존재합니다. 이로 인해 Lemur ClientV2가 공격자의 서버가 제공하는 URL을 검증 없이 따라가게 되어, 내부 서비스나 클라우드 메타데이터 엔드포인트로 JWS 서명된 요청을 보낼 수 있습니다.
💡 쉬운 설명
인증서 관리 도구인 Lemur의 설정 오류를 이용해 공격자가 가짜 인증 서버를 등록할 수 있습니다. 이를 통해 공격자는 시스템 내부의 중요한 정보나 클라우드 설정 데이터에 접근할 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
Lemur manages TLS certificate creation. Prior to 1.9.3, an authority-role member could update acme_url through PUT /api/1/authorities/ without revalidation and direct setup_acme_client_no_retry to an attacker-controlled ACME server. ACME directory and order responses contain newNonce, newOrder, authorizations, and finalize URLs chosen by that server. The Lemur ClientV2 followed those URLs without requiring their host to match the configured directory host, allowing JWS-signed requests to internal services or cloud metadata endpoints. The issue required an ACME authority and a user authorized for that authority, but did not require global administrator privileges. The fix revalidates updates and introduces _PinnedClientNetwork to enforce a single allowed host for the complete ACME flow. This issue is fixed in version 1.9.3.
📍 영향받는 시스템
Lemur version < 1.9.3
⚔️ 공격 벡터
권한이 있는 사용자가 ACME URL을 공격자 서버로 변경한 후, 클라이언트가 해당 서버의 URL을 신뢰하여 내부 네트워크로 요청을 보내도록 유도
🛡️ 대응 방법
Lemur를 최신 버전인 1.9.3 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 1.9.3 미만이면 취약한 상태이며, 1.9.3 이상이면 안전합니다.
pip show lemur | grep Version 2>/dev/null || python3 -c 'import lemur; print(lemur.__version__)' 2>/dev/null