🔍 CVE-2026-54892

0.0
CVSS Score
UNKNOWN
2026-06-23
2026-10-25 23:10
✅ 완료

🇰🇷 한글 설명

Plug의 중첩된 파라미터 디코더에서 발생하는 비효율적인 알고리즘 복잡성 문제로 인해 인증되지 않은 원격 공격자가 서비스 거부(DoS)를 유발할 수 있습니다. 쿼리 스트링이나 URL 인코딩된 본문에 다수의 중첩된 대괄호를 포함할 경우, 디코딩 과정에서 연산량이 기하급수적으로 증가하여 서버의 스케줄러를 점유합니다.

💡 쉬운 설명

공격자가 특수하게 조작된 복잡한 데이터를 보내면 서버가 이를 해석하느라 모든 계산 능력을 소모하게 만듭니다. 이로 인해 서버가 응답 불능 상태에 빠져 정상적인 사용자가 서비스를 이용할 수 없게 됩니다.

🇺🇸 원문 (English)

Inefficient algorithmic complexity in Plug's nested-parameter decoder allows an unauthenticated remote attacker to cause denial of service. Plug.Conn.Query.decode/4 (and Plug.Conn.Query.decode_each/2) parse query strings and application/x-www-form-urlencoded request bodies. When a key contains many bracketed segments such as a[a][a][a]=1, the decoder walks the brackets and, for each of the N levels, performs a map operation keyed on an ever-growing binary prefix of the key, hashing the full byte range at each step. The total decode cost is therefore quadratic in the number of nesting levels. With the default Plug.Parsers.URLENCODED body limit of 1,000,000 bytes, a single request can carry roughly 333,000 nesting levels and saturate a BEAM scheduler for minutes. A small number of concurrent requests can saturate all schedulers and render a Plug-based server unresponsive. No authentication or knowledge of application routes is required. This vulnerability is associated with program files lib/plug/conn/query.ex and program routines Plug.Conn.Query.decode/4, Plug.Conn.Query.decode_each/2, Plug.Conn.Query.split_keys/6, Plug.Conn.Query.insert_keys/3, and Plug.Conn.Query.finalize_pointer/2. This issue affects plug from 1.15.0 before 1.15.5, 1.16.4, 1.17.2, 1.18.3, and 1.19.3.

📍 영향받는 시스템

plug 1.15.0 < 1.15.5, 1.16.4 < 1.17.2, 1.17.2 < 1.18.3, 1.18.3 < 1.19.3

⚔️ 공격 벡터

인증 없이 조작된 중첩 대괄호(예: a[a][a]...)가 포함된 HTTP 요청을 전송

🛡️ 대응 방법

Plug 라이브러리를 보안 패치가 적용된 최신 버전(1.15.5, 1.16.5, 1.17.3, 1.18.4, 1.19.3 이상)으로 업데이트

🔧 검증 코드

출력된 버전이 취약점이 해결된 버전(1.15.5, 1.16.5, 1.17.3, 1.18.4, 1.19.3 이상)인지 확인

Shell / Script
mix exec "IEx.configure(debug: false); :plug |> Application.get_version()"

💻 영향받는 소프트웨어

IBM WebSphere Application Server