🔍 CVE-2026-95754

0.0
CVSS Score
UNKNOWN
2026-09-22
2026-09-22 16:18
✅ 완료

🇰🇷 한글 설명

MISP의 UsersController login() 메서드에서 TOTP 인증 과정 중 사용자 계정의 비활성화 여부를 확인하는 쿼리에 'disabled' 컬럼이 누락되었습니다. 이로 인해 비활성화된 사용자임에도 불구하고 즉시 거부되지 않고 TOTP 입력 단계로 넘어가는 현상이 발생합니다. 다만, 이후 단계에서 계정 상태를 재검증하므로 실제 보안 위협은 매우 낮습니다.

💡 쉬운 설명

로그인 과정에서 계정이 정지되었는지 확인하는 체크리스트에 항목 하나가 빠져서, 정지된 계정이라도 OTP 번호를 입력하는 화면까지는 보여지게 되는 문제입니다. 하지만 실제 로그인은 결국 차단되기 때문에 큰 문제는 아닙니다.

🇺🇸 원문 (English)

In MISP's UsersController login() method, the pre-authentication database query used for the TOTP (two-factor authentication) verification branch did not include the User.disabled column in its SELECT fields list. The query selected only User.password, User.totp, and User.hotp_counter. When the TOTP branch subsequently accessed $unauth_user['User']['disabled'], the key was absent from the result set, producing a PHP 'Undefined array key' warning and causing the expression to evaluate as null (falsy). As a result, the disabled-user guard in the TOTP branch was effectively a no-op: a disabled, TOTP-enrolled user could proceed to the TOTP verification step rather than being rejected at that point.  The commit message explicitly states this was 'harmless in practice' because the subsequent identify() call re-validates the user and would still reject a disabled account.  The practical security impact is therefore minimal, limited to a very small information-disclosure difference in the login response (a TOTP prompt is presented instead of an immediate rejection) and a PHP warning in application logs.

📍 영향받는 시스템

MISP (Malware Information Sharing Platform) 특정 버전 (UsersController 내 TOTP 로직 포함 버전)

⚔️ 공격 벡터

비활성화된 계정으로 로그인을 시도하여 TOTP 입력 화면이 나타나는지 확인하는 정보 노출 공격

🛡️ 대응 방법

해당 취약점이 수정된 최신 버전의 MISP로 업데이트하거나, 데이터베이스 쿼리에 User.disabled 컬럼을 포함하도록 패치 적용

🔧 검증 코드

명령어 결과에서 TOTP 관련 쿼리문에 User.disabled 컬럼이 포함되어 있는지 확인하여 패치 여부를 판단합니다.

Shell / Script
grep -r "User.disabled" /path/to/misp/src/Controller/UsersController.php

💻 영향받는 소프트웨어

PHP