🇰🇷 한글 설명
EGroupware는 PHP로 작성된 웹 기반 그룹웨어 서버입니다. EGroupware의 핵심 구성 요소에서 SQL Injection 취약점이 존재하며, 이는 버전 23.1.20260113 및 26.0.20260113 이전의 모든 버전에 영향을 미칩니다. 이 취약점은 인증된 공격자가 데이터베이스 쿼리의 WHERE 절에 임의의 SQL 명령을 삽입할 수 있도록 합니다.
💡 쉬운 설명
EGroupware 서버의 SQL Injection 취약점으로 인해 공격자는 인증 후 데이터베이스를 조작할 수 있습니다. 이는 중요한 정보를 유출하거나 서버를 제어할 수 있는 취약점입니다. 최신 버전으로 업데이트하여 취약점을 해결할 수 있습니다.
🇺🇸 원문 (English)
EGroupware is a Web based groupware server written in PHP. A SQL Injection vulnerability exists in the core components of EGroupware prior to versions 23.1.20260113 and 26.0.20260113, specifically in the `Nextmatch` filter processing. The flaw allows authenticated attackers to inject arbitrary SQL commands into the `WHERE` clause of database queries. This is achieved by exploiting a PHP type juggling issue where JSON decoding converts numeric strings into integers, bypassing the `is_int()` security check used by the application. Versions 23.1.20260113 and 26.0.20260113 patch the vulnerability.
📍 영향받는 시스템
EGroupware 버전 23.1.20260113 및 26.0.20260113 이전의 모든 버전
⚔️ 공격 벡터
인증된 공격자가 JSON 디코딩을 이용하여 PHP 타입 조작 취약점을 악용하여 임의의 SQL 명령을 삽입
🛡️ 대응 방법
EGroupware를 버전 23.1.20260113 또는 26.0.20260113 이상으로 업데이트합니다.
🔧 검증 코드
로컬 Linux PC에서 실행 가능한 Python 코드입니다. 이 코드는 dpkg 패키지 관리자를 사용하여 EGroupware의 버전을 확인합니다. 코드 실행 전 Python이 설치되어 있어야 하며, root 권한이 필요할 수 있습니다.
import subprocess
result = subprocess.run(['dpkg', '-l', 'egroupware'], capture_output=True, text=True)
if '23.1.20260113' in result.stdout or '26.0.20260113' in result.stdout:
print({"result": "양호", "reason": "EGroupware 버전이 최신입니다."})
else:
print({"result": "취약", "reason": "EGroupware 버전이 구버전입니다. 업데이트가 필요합니다."})