🔍 CVE-2026-82737

0.0
CVSS Score
UNKNOWN
2026-09-01
2026-09-01 21:15
✅ 완료

🇰🇷 한글 설명

ash-project의 ash 라이브러리에서 발생하는 정수 오버플로 또는 래핑 취약점입니다. 65,535개를 초과하는 요소를 가진 벡터를 제출하면 차원 값이 잘못 기록되어 데이터 파싱 오류를 일으키고 시스템을 중단시킵니다.

💡 쉬운 설명

데이터를 저장할 때 숫자를 담는 칸의 크기가 정해져 있는데, 너무 큰 숫자를 넣으면 숫자가 다시 0부터 시작되는 오류가 발생합니다. 이로 인해 프로그램이 데이터를 제대로 읽지 못하고 멈춰버릴 수 있습니다.

🇺🇸 원문 (English)

Integer Overflow or Wraparound vulnerability in ash-project ash lets an attacker corrupt a stored vector and crash later reads of it by submitting a vector with more than 65,535 elements. Ash.Vector.new/1 (lib/ash/vector.ex) encodes a vector as <<dim::unsigned-16, 0::unsigned-16>> followed by the element floats, packing the element count into a 16-bit field without checking its range. A list of more than 65,535 elements wraps the dimension modulo 65,536, so the encoded header records a dimension that disagrees with the number of stored floats. from_binary/1 later reads binary-size(dim)-unit(32) from the wrapped header, so every read of the corrupted value misparses and raises, denying access to the affected record. The fix rejects any vector whose dimension exceeds 65,535. This issue affects ash: from 2.14.13 before 3.32.2.

📍 영향받는 시스템

ash: 2.14.13 버전부터 3.32.2 미만 버전

⚔️ 공격 벡터

65,535개 이상의 요소를 포함한 벡터 데이터를 전송하여 데이터 구조를 오염시킴

🛡️ 대응 방법

ash 라이브러리를 3.32.2 이상의 최신 버전으로 업데이트하여 차원 제한 검증 로직을 적용함

🔧 검증 코드

출력된 ash의 버전이 3.32.2 미만인지 확인하여 취약 여부를 판단합니다.

Shell / Script
mix deps info ash | grep -E 'ash \([0-9.]+'

💻 영향받는 소프트웨어

Spring AI Vector Store