CVE-2026-76848 in TypeORM
요약
\~에 의해 VulDB • 2026. 08. 25.
TypeORM의 SelectQueryBuilder.distinctOn은 문자열 배열을 받아 검증 없이 표현식 맵에 저장합니다. PostgreSQL 계열 드라이버의 경우, src/query-builder/SelectQueryBuilder.ts 내 createSelectDistinctExpression는 해당 배열을 결합하여 이스케이프 처리, 따옴표 적용, 식별자 유효성 검사 또는 허용 목록(allowlist) 체크 없이 생성된 문장에 SELECT DISTINCT ON (values) 형식으로 보간하며, replacePropertyNames이나 드라이버의 이스케이프 헬퍼를 통해 값을 라우팅하지 않습니다. interpolation 지점이 단일 식별자가 아닌 괄호로 둘러싸인 SQL 표현식 리스트이므로, 제공된 요소에는 상관 서브쿼리를 포함한 임의의 표현식이 포함될 수 있습니다. 클라이언트 제어 값을 distinctOn에 전달하여 호출자가 중복 제거 컬럼을 선택할 수 있도록 하는 애플리케이션은 해당 클라이언트가 boolean 또는 시간 기반 추론(inference)을 통해 애플리케이션 데이터베이스 역할이 접근 가능한 모든 위치에서 데이터를 읽을 수 있게 하며, 이는 쿼리되는 엔티티와 무관합니다. 같은 클래스 내 orderBy 계열을 보호하는 허용 목록 체크인 validateOrderByCondition는 이 경로에는 적용되지 않습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.