
CVE-2026-29861에 대한 권고 및 개념 증명(PoC)으로, PHP-MYSQL-User-Login-System의 치명적인 SQL 인젝션 취약점으로 인증되지 않은 관리자 접근을 허용합니다.
공개 날짜: 2026년 4월 10일
CVE ID: CVE-2026-29861
심각도: CRITICAL (CVSS 9.8)
PHP-MYSQL-User-Login-System v1.0의 login.php 엔드포인트에서 심각한 SQL 인젝션 취약점이 발견되었습니다. 이 애플리케이션은 사용자 입력을 검증 없이 SQL 쿼리에 직접 포함시켜, 인증되지 않은 공격자가 인증을 우회하고 전체 관리자 권한을 획득할 수 있게 합니다.
이 문제에는 CVE-2025-26198 식별자가 할당되었습니다. 공개 당시 공식 패치는 제공되지 않았습니다.
login.phphttp://localhost/PHP-MYSQL-User-Login-System/login.php관리자 로그인 메커니즘은 입력 검증이나 준비된 문(prepared statements) 없이 사용자 입력을 SQL 쿼리에 직접 사용합니다:
$query = "SELECT * FROM admin WHERE username='$username' AND password='$password'";
이로 인해 다음과 같은 인젝션 페이로드가 가능합니다:
Username: ' OR '1'='1
Password: [any value]
이는 조건식을 참으로 만들어 인증 로직을 우회하며, 관리자 대시보드에 대한 접근 권한을 부여합니다.
| CWE ID | 제목 |
|---|---|
| CWE-89 | SQL 명령에 사용되는 특수 요소의 부적절한 중화 |
| 점수 | 심각도 | 벡터 문자열 |
|---|---|---|
| 9.8 | CRITICAL | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
성공적인 악용 시 다음과 같은 결과가 발생할 수 있습니다:
UNION 기반 SQL 인젝션을 통한 데이터 유출 또는 변조 가능성git clone https://github.com/keerti1924/PHP-MYSQL-User-Login-System.git
XAMPP/LAMP를 사용하여 프로젝트를 배포하고 다음으로 이동합니다:
http://localhost/PHP-MYSQL-User-Login-System/login.php
로그인 양식에 다음 자격 증명을 입력합니다:
' OR '1'='1[any value]첫 번째 관리자 사용자로 로그인되어 SQL 인젝션이 성공적으로 수행되었음을 확인할 수 있습니다.
mysqli_prepare() 또는 PDO)으로 대체하세요.| 이벤트 | 날짜 |
|---|---|
| 취약점 발견 | 2026년 1월 22일 |
| 공개 공개 | 2026년 4월 10일 |
| 패치 제공 | ❌ 공개 시점 기준 제공되지 않음 |
이 취약점은 다음에 의해 발견되어 책임감 있게 공개되었습니다:
Aman Yadav
💬 공급업체의 응답이 없어 본 권고는 독립적으로 게시되었습니다.