Patch Ticker

Ecto 쿼리 캐시 무제한 증가로 메모리 고갈 (서비스 거부)

Elixir 데이터베이스 도구는 악의적인 요청으로 멈출 수 있습니다.

요약

Elixir용 데이터 조회 라이브러리 Ecto는 요청에 담긴 JSON 키나 목록 길이마다 메모리를 계속 쌓아 서버를 멈추게 할 수 있습니다. 인증 없이 원격에서 공격할 수 있으며, 3.4.0 이상 3.14.3 미만 버전이 해당합니다.

해당 조건

  • 요청 데이터를 JSON 경로나 splice/1 목록에 넣어 쿼리하는 코드
  • 기본 query_cache: true 설정으로 쿼리 실행

대처법

ecto 3.14.3으로 업데이트하세요. 당장 못 하면 요청 값을 미리 검사하거나, 쿼리 실행 시 query_cache: false 옵션을 쓰세요.

당장 못 하면:

설정 파일에 이 줄을 넣으세요:

Repo.all(query, query_cache: false)

설정을 잘못 바꾸면 서비스가 멈추거나 접속이 막힐 수 있어요. 바꾸기 전에 아래 원문 링크를 확인하세요.

대상 제품과 운영체제

  • elixir-ecto ecto

CVE 번호

원문 링크

시각

처음 게시

처음 확인