🔍 CVE-2026-50737

7.5
CVSS Score
HIGH
2026-07-28
2026-10-23 23:10
✅ 완료

🇰🇷 한글 설명

pglogical에서 특정 컬럼이 누락된 행의 복제 변경 사항을 적용할 때, 구독자 측의 기본 표현식을 평가하는 과정에서 취약점이 발생합니다. 공격자가 게시자 역할을 수행할 수 있다면, 구독자 측에서 함수를 슈퍼유저 권한으로 실행하게 하여 권한 상승을 유도할 수 있습니다. 이는 관리형 배포 환경에서 구독 생성 권한이 비슈퍼유저에게 위임된 경우 특히 위험합니다.

💡 쉬운 설명

데이터를 복사해주는 프로그램의 허점을 이용해, 일반 사용자가 데이터베이스의 최고 관리자 권한을 뺏어올 수 있는 문제입니다. 공격자가 조작된 데이터를 보내면 시스템이 이를 처리하는 과정에서 관리자 명령을 실행하게 됩니다.

🇺🇸 원문 (English)

When applying replicated changes for a row that is missing one or more columns, pglogical evaluates the affected table's default expressions on the subscriber. Because the apply worker runs at a privilege level equivalent to a PostgreSQL superuser in default installations, any function invoked by such a default expression also runs at that privilege. A party acting as the publisher can use this path to cause functions to be executed on the subscriber as superuser, escalating from a role permitted to use pglogical to full superuser. This is a second, independent path to the same superuser escalation tracked under CVE-2026-50736 (the pglogical queue issue). To exploit the issue an attacker must be able to direct a subscription at an endpoint they control. In default installations this requires privileges normally reserved for a superuser, so the issue is most relevant to managed deployments where the ability to create subscriptions has been delegated to non-superuser roles.

📍 영향받는 시스템

pglogical 확장 모듈을 사용하는 PostgreSQL 환경 (구독 생성 권한이 위임된 관리형 배포 환경)

⚔️ 공격 벡터

공격자가 제어하는 엔드포인트로 구독을 유도한 뒤, 기본 표현식에 포함된 함수를 통해 슈퍼유저 권한 실행

🛡️ 대응 방법

pglogical를 최신 보안 패치 버전으로 업데이트하고, 비슈퍼유저에게 구독 생성 권한을 부여하는 설정을 재검토하십시오.

🔧 검증 코드

설치된 pglogical의 버전을 확인하여 보안 패치가 적용된 최신 버전인지 대조하십시오.

Shell / Script
pg_config --version && psql -c "SELECT extname, extversion FROM pg_extension WHERE extname = 'pglogical';"

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PostgreSQL