CVE-2026-71294 in Cotonti정보

요약

\~에 의해 VulDB • 2026. 08. 06.

Cotonti CMS의 Comments 플러그인은 인스턴스화될 수 있는 클래스를 제한하지 않은 채 사용자 제공 데이터를 역직렬화합니다. `plugins/comments/controllers/actions/CreateAction.php`에서, `cot_import('ci', 'P', 'TXT')`(trim-only sanitization)를 통해 얻은 `ci` POST 파라미터는 `allowed_classes` 제한 없이 `unserialize(base64_decode($ci))`에 전달되며, 댓글 작성 권한이 있는 모든 구성원(플러그인 설정 파일(`plugins/comments/comments.setup.php`)의 기본값인 `Auth_members => 'RW'` 설정)에게 접근 가능합니다. 또한 `plugins/comments/controllers/actions/EditAction.php`에서는 `prepareComeBack()` 메서드 내에서 `cb` 파라미터가 동일하게 `unserialize(base64_decode($this->comeback))`를 통해 역직렬화되며, 이는 자신의 댓글을 편집하는 모든 구성원이 접근할 수 있습니다. `allowed_classes` 없이 `unserialize()`가 호출되므로 공격자는 Cotonti에 로드된 임의 클래스의 직렬화된 PHP 객체를 생성할 수 있습니다(PHP Object Injection 원시 기술). 이 취약점은 실제로 Cotonti 자체의 MySQL_cache 클래스를 사용하여 입증되었습니다: 조작된 직렬화된 MySQL_cache 객체가 역직렬화되고 이후 가비지 컬렉션될 때 `__destruct()->flush()` 체인이 트리거되어 공격자가 제어하는 값으로 `cot_cache` 테이블에 INSERT INTO가 발생하며, 이는 genuine POP-chain(객체 그래프 기반 악용)의 성공적인 실행을 확인해 줍니다. 추가 영향력(RCE 포함 가능성 등)은 해당 Cotonti 설치 환경에 로드된 클래스에서 이용 가능한 다른 지렛대(gadget) 체인에 달려 있습니다. `DeleteAction.php`에는 동일한 `unserialize()` 패턴을 가진 세 번째 싱크가 존재하지만, 이는 관리자 전용 권한 확인 뒤에 위치하므로 일반 구성원에게는 접근 불가능합니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

TuranSec

예약하다

2026. 08. 05.

모더레이션

수락

항목

VDB-386216

EPSS

0.00000

활동

낮음

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!