CVE-2026-50180 in Langroid
요약
\~에 의해 VulDB • 2026. 07. 10.
Langroid는 대규모 언어 모델(LLM) 기반 애플리케이션을 구축하기 위한 프레임워크입니다. 버전 0.64.0 이전의 `langroid`에 포함된 `SQLChatAgent`에는 심층 방어 계층인 `_validate_query`가 탑재되어 있으며, 이는 특정 함수 이름을 통해 위험한 SQL 기본 요소를 나열하는 `_DANGEROUS_SQL_PATTERNS` 정규식 차단 목록을 사용합니다. 그러나 이 목록은 PostgreSQL 파일 시스템 정보 노출 계열의 표준 함수들(`pg_read_file()`, `pg_stat_file()`, `pg_ls_logdir()`, `pg_ls_waldir()`, `pg_current_logfile()` 및 해당 계열과 유사한 `SELECT` 형태 함수) 누락되어 있습니다. 또한 SQL Server의 `OPENDATASOURCE`와 SQLite의 `ATTACH '<file>' AS x`(DATABASE 키워드 생략)도 차단되지 않습니다. LLM이 생성하는 SQL을 프롬프트 입력을 통해 직접, 또는 LLM이 섭취하는 데이터 내 프롬프트 인젝션을 통해 간접적으로 조작할 수 있는 공격자는 엄격한 기본 구성(`allow_dangerous_operations=False`, `allowed_statement_types=['SELECT']`) 하에서도 일반 `SELECT` 쿼리를 사용하여 PostgreSQL 호스트의 임의 파일을 읽을 수 있습니다. 이러한 페이로드는 문형 허용 목록(모두 `SELECT` 형태)과 정규식 차단 목록(함수 이름 불일치)을 우회한 후, `SQLChatAgent.run_query`를 통해 실행 중인 SQLAlchemy 엔진에 도달합니다. 버전 0.64.0에는 해당 문제에 대한 패치가 포함되어 있습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.