🇰🇷 한글 설명
Piwigo 16.4.0 미만 버전에서 PHP 8 이상 환경 사용 시 발생하는 SQL 인젝션 취약점입니다. 인증되지 않은 사용자가 조작된 사용자 이름을 통해 업그레이드 인증 SQL 쿼리를 우회하여 관리자 권한 없이 데이터베이스 업그레이드를 실행할 수 있습니다. 이로 인해 데이터베이스 무결성 훼손 및 서비스 중단이 발생할 수 있습니다.
💡 쉬운 설명
해커가 아이디 입력창에 특수 코드를 넣어 관리자 확인 절차를 몰래 통과할 수 있는 보안 구멍입니다. 이를 통해 허가받지 않은 사람이 사진 갤러리의 데이터베이스를 마음대로 수정하거나 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
Piwigo is a full featured open source photo gallery application for the web. Prior to 16.4.0, check_upgrade_access_rights() in admin/include/functions_upgrade.php conditionally escapes the submitted username only when the removed get_magic_quotes_gpc function exists, so PHP 8 and later concatenate an unauthenticated username directly into the upgrade authentication SQL query. When database upgrades are pending, a crafted query result can satisfy the status and password checks, set PHPWG_IN_UPGRADE, and authorize upgrade execution without valid administrator credentials. This can cause unauthorized database integrity changes and service disruption. This vulnerability is fixed in 16.4.0.
📍 영향받는 시스템
Piwigo 16.4.0 미만 버전 (PHP 8 이상 환경)
⚔️ 공격 벡터
인증되지 않은 사용자가 업그레이드 페이지에서 조작된 SQL 쿼리가 포함된 사용자 이름을 전송하여 인증 우회
🛡️ 대응 방법
Piwigo를 최신 버전인 16.4.0 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
해당 파일 내에 취약한 함수가 존재하는지 확인하고, 설치된 Piwigo의 버전을 체크하여 16.4.0 미만인지 확인합니다.
grep -r "functions_upgrade.php" /path/to/piwigo/admin/include/ | xargs grep -l "check_upgrade_access_rights"