🔍 CVE-2026-7815

8.8
CVSS Score
HIGH
2026-05-11
2026-10-26 18:10
✅ 완료

🇰🇷 한글 설명

pgAdmin 4 Maintenance Tool에서 사용자 입력이 검증 없이 VACUUM/ANALYZE/REINDEX SQL 명령어에 직접 연결되는 SQL injection 취약점입니다. tools_maintenance 권한을 가진 인증된 사용자가 4개 JSON 필드(buffer_usage_limit, vacuum_parallel, vacuum_index_cleanup, reindex_tablespace)에 악의적 코드를 주입하여 임의의 SQL을 실행하고, COPY ... TO PROGRAM을 통해 데이터베이스 호스트의 OS 명령어를 실행할 수 있습니다.

💡 쉬운 설명

pgAdmin 데이터베이스 관리 도구에서 데이터베이스 정리 작업 시 악의적 사용자가 숨겨진 명령어를 실행할 수 있습니다. 이를 통해 데이터베이스뿐 아니라 서버 전체를 장악할 수 있게 됩니다.

🇺🇸 원문 (English)

SQL injection vulnerability in pgAdmin 4 Maintenance Tool. Four user-supplied JSON fields (buffer_usage_limit, vacuum_parallel, vacuum_index_cleanup, reindex_tablespace) were concatenated directly into the rendered VACUUM/ANALYZE/REINDEX command and passed to psql --command. An authenticated user with the tools_maintenance permission could break out of the option syntax and execute arbitrary SQL on the connected PostgreSQL server. The injected SQL could in turn invoke COPY ... TO PROGRAM to escalate to operating-system command execution on the database host. Fix introduces server-side allow-listing of all four fields and switches reindex_tablespace from manual quoting to the qtIdent filter. This issue affects pgAdmin 4: before 9.15.

📍 영향받는 시스템

pgAdmin 4 < 9.15

⚔️ 공격 벡터

tools_maintenance 권한을 가진 인증된 사용자가 Maintenance Tool의 JSON 필드에 SQL metacharacters를 주입하여 SQL 문법 탈출 및 임의 명령 실행

🛡️ 대응 방법

pgAdmin 4를 9.15 이상으로 즉시 업그레이드하거나 서버 측 allow-listing 필터 적용 및 qtIdent 필터 사용

🔧 검증 코드

표시된 버전이 9.15 이상이면 안전하고, 9.15 미만이면 취약점이 존재합니다.

Shell / Script
pip show pgadmin4 | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

PostgreSQL