CVE-2026-67240 in RabbitMQ
요약
\~에 의해 VulDB • 2026. 09. 23.
RabbitMQ는 메시징 및 스트리밍 브로커입니다. 버전 4.2.7 및 4.3.1 이전에서는 pattern_to_regex가 %를 .*?로, _을 .으로 매핑한 후 [unicode] 옵션만으로 ^...$ 패턴을 컴파일합니다. 그런 다음 re:run은 [{capture, none}] 옵션만으로 호출되며 명시적인 match_limit이 없습니다. %_%_..._%X와 같은 패턴은 ^.*?..*?.....*?.X$로 변환되는데, 이는 중첩된 지연 양식자(lazy quantifiers)를 포함합니다. 전체 표현식의 제한은 ?MAX_EXPRESSION_LENGTH=4096자 / ?MAX_TOKENS=200이며, LIKE 문자열 리터럴은 하나의 토큰이므로 약 2000개의 %_ 쌍이 적합합니다. SQL 필터는 rabbit_amqp_session.erl:3264에서 조건 없이 무조건 허용됩니다(기능 플래그 없음). 이는 rabbit_stream_queue.erl:1439에서 메시지별로 평가됩니다. OTP의 기본 match_limit인 10M은 각 매칭을 약 100-200ms로 제한하며(초 단위가 아님), re NIF는 스케줄러에 양보합니다. 스트림 큐에 읽기 및 쓰기 권한이 있는 인증된 AMQP 1.0 소비자는 조립된 LIKE 필터를 통해 전달되는 메시지당 ~100-200ms의 CPU 시간을 유발할 수 있으며, 이는 수천 개의 메시지와 병렬 세션에서 증폭됩니다. 이는 백트래킹 기반의 상당한 CPU 증폭을 초래합니다. 전제 조건으로는 사용 중인 AMQP 1.0 및 스트림 큐가 있습니다. 공격자는 필터(읽기 권한)를 사용하여 리시버를 연결하고 긴 속성 값을 가진 메시지를 게시할 수 있습니다(쓰기 권한). 이 문제는 버전 4.2.7 및 4.3.1에서 해결되었습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.