OpenTSDB JEXL 표현식 인젝션 취약점으로 인한 인증 없는 원격 코드 실행
공격자는 /api/query/exp 엔드포인트에 샌드박스 격리가 없는 결함을 악용하여 Java 리플렉션 호출을 포함한 악성 JEXL 표현식을 구성합니다. 구문 유효성만 검사하는 검증 메커니즘을 우회하고 Runtime.exec 메서드를 호출해 임의의 운영체제 명령을 실행합니다. 기본 설정에서 인증이 비활성화되어 있어 이 취약점은 권한 없이 네트워크로 접근 가능하며, 서버 완전 장악, 데이터 유출, 내부 확산 및 서비스 중단 등 심각한 결과를 초래합니다.
컴포넌트
OpenTSDB는 HBase 기반의 분산 시계열 데이터 모니터링 시스템으로, 핵심 아키텍처는 효율적인 시계열 데이터 저장 및 검색 능력에 의존합니다. RESTful API를 통해 데이터 수집, 조회 및 시각화 인터페이스를 제공하여 대규모 인프라의 성능 모니터링과 분석을 지원하며, 내부에 JEXL 엔진을 통합해 복잡한 동적 데이터 집계와 논리 연산을 지원하고 다차원 실시간 모니터링 요구를 충족합니다.
유형
Code Injection (CWE-94)
저장소
대응 방안
- 엄격한 표현식 샌드박스 모드를 활성화하고 JEXL 엔진의 Java 클래스 접근 권한을 제한하십시오. 민감한 API에 대한 무단 접근을 막기 위해 인증을 필수로 적용하고, 사용자 입력에 대해 심층 콘텐츠 필터링을 수행하여 위험한 클래스명이나 메서드 호출이 포함된 표현식을 차단하십시오. 신속히 수정된 버전으로 업그레이드하고 최소 권한 원칙에 따라 서비스를 배포하십시오.
RocketMQ ACL 마이그레이션 컴포넌트의 권한 파싱 로직 결함으로 인한 무단 접근 위험
이 취약점은 RocketMQ ACL 1.0에서 2.0으로 마이그레이션하는 과정에 존재하며, AuthMigrator 컴포넌트가 구버전 설정을 파싱할 때 심각한 로직 오류가 있습니다. 비표준이거나 인식되지 않는 권한 문자열(예: ANY 또는 오타)을 만나면 코드는 예상대로 접근을 거부하는 대신 기본적으로 모든 작업 허용(Action.ALL)과 허용 결정(Decision.ALLOW)으로 변환합니다. 공격자는 복잡한 상호작용 없이 이 결함을 악용할 수 있으며, 특정 구버전 설정 파일을 구성하거나 기존의 비정상 설정을 이용해 원래 거부되어야 할 리소스에 대한 완전한 접근 권한을 얻어 민감한 데이터를 무단으로 읽거나 변조할 수 있습니다.
컴포넌트
Apache RocketMQ는 분산 메시징 미들웨어로, 핵심 아키텍처는 Broker, NameServer 및 클라이언트 컴포넌트로 구성되며 높은 처리량과 낮은 지연의 메시지 발행 및 구독을 목표로 합니다. ACL 모듈을 통해 세분화된 접근 제어를 제공하여 사용자별 Topic 및 Group 리소스에 대한 읽기·쓰기 권한이 보안 정책을 따르도록 보장하며, 엔터프라이즈 메시지 큐의 안정적인 운영과 데이터 격리를 지원합니다.
유형
Incorrect Authorization (CWE-863)
저장소
대응 방안
- 권한 파싱 로직을 수정하여 명확히 정의된 유효한 권한 값에만 허용 결정을 부여하고, 알 수 없거나 잘못된 입력은 모두 엄격하게 거부 상태로 매핑하여 최소 권한 원칙을 준수하고 권한 상승을 방지하십시오.