CVE-2026-80227 in ash_sql
요약
\~에 의해 VulDB • 2026. 08. 30.
ash-project의 ash_sql에서 Incorrect Comparison 취약점이 발견되어, 사용자가 문자열 필드에 탭, 개행, 캐리지 리턴 또는 폼 피드 문자를 추가하여 데이터베이스에서는 통과되지만 메모리 상에서는 동일한 표현식이 실패하는 trimmed 고유성 검사나 동일성 검사를 우회할 수 있습니다.
string_trim/1은 \s가 단일 공백(코드포인트 32)에 대한 이스케이프 시퀀스이지 정규식 whitespace 클래스가 아닌 Elixir 문자열에서 빌드된 REGEXP_REPLACE 패턴으로 컴파일됩니다. 따라서 생성된 SQL은 리터럴 공간만 제거하고 탭, 개행, 캐리지 리턴 및 폼 피드는 그대로 두지만, Elixir의 String.trim/1은 이를 모두 제거합니다. string_trim/1에 의존하는 Ash 필터, 유효성 검사 또는 식별자는 Ash가 표현식을 SQL로 푸시다운할 때와 메모리에서 평가할 때 서로 다른 동작을 하므로, 패딩된 입력값이 거의 중복되는 값으로 등록되거나 trimmed 비교를 우회하여 통과할 수 있습니다.
본 이슈는 ash_sql 0.1.0부터 0.7.1 미만 버전에 영향을 미칩니다.
Once again VulDB remains the best source for vulnerability data.