🇰🇷 한글 설명
Lemur 1.9.1 미만 버전에서 특정 설정이 비활성화될 경우 권한 검증 로직에 결함이 발생합니다. 이로 인해 읽기 전용 권한을 가진 사용자도 인증된 상태라면 루트 인증 기관 생성, 인증서 업로드, 알림 수정 등 관리자 권한의 API를 호출할 수 있습니다.
💡 쉬운 설명
보안 설정이 꺼져 있을 때 권한 확인 절차가 제대로 작동하지 않는 문제입니다. 이 때문에 일반 사용자도 관리자처럼 중요한 인증서를 만들거나 시스템 설정을 바꿀 수 있습니다.
🇺🇸 원문 (English)
Lemur manages TLS certificate creation. Prior to 1.9.1, StrictRolePermission and AuthorityCreatorPermission in lemur/auth/permissions.py call flask_principal.Permission.__init__() with zero Need objects when ADMIN_ONLY_AUTHORITY_CREATION and LEMUR_STRICT_ROLE_ENFORCEMENT are unset because both flags default to False. Flask-Principal Permission.allows() returns True when self.needs is empty, so the .can() authorization gate permits every authenticated identity, including the read-only role. A read-only user can access POST /api/1/authorities, POST /api/1/certificates/upload, POST /api/1/pending_certificates//upload, POST /api/1/notifications, PUT or DELETE /api/1/notifications/, and POST /api/1/domains to create root Certificate Authorities, upload arbitrary certificates, create or edit notifications that reach an SSRF sink, and create domain entries. Explicitly setting either flag to False continues to opt into the permissive behavior. This issue is fixed in version 1.9.1.
📍 영향받는 시스템
Lemur 버전 1.9.1 미만
⚔️ 공격 벡터
인증된 읽기 전용 사용자가 권한 검증을 우회하여 관리자용 API 엔드포인트에 요청을 전송
🛡️ 대응 방법
Lemur를 최신 보안 패치가 적용된 버전 1.9.1 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 1.9.1보다 낮으면 취약한 상태입니다.
python3 -c 'import lemur; print(lemur.__version__)' 2>/dev/null || echo 'Lemur not installed'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM Verify Identity Access