🇰🇷 한글 설명
WordPress coreActivity 플러그인이 User-Agent 헤더의 PHP 직렬화 문법을 검증하지 않아 악의적 페이로드 주입이 가능합니다. 관리자가 로그 페이지를 접근할 때 역직렬화되면서 치명적 오류가 발생하여 관리자 접근을 지속적으로 차단합니다.
💡 쉬운 설명
WordPress 플러그인이 방문자 정보를 저장할 때 악의적 명령을 제대로 필터링하지 않습니다. 공격자는 특수한 코드를 삽입해서 관리자가 로그를 볼 때마다 서버를 멈추게 할 수 있습니다.
🇺🇸 원문 (English)
The coreActivity: Activity Logging for WordPress plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 3.0. This is due to the plugin failing to validate or strip PHP serialization syntax from the User-Agent HTTP header before storing it in the logmeta table, and subsequently calling `maybe_unserialize()` on every retrieved `meta_value` in `query_metas()` without verifying the data was originally serialized by the application. This makes it possible for unauthenticated attackers to inject a crafted PHP serialized payload via the User-Agent header during any logged event (such as a failed login attempt), which, when an administrator views the Logs page, is deserialized and passed to `DeviceDetector::setUserAgent()`, triggering a Fatal TypeError that creates a persistent Denial of Service condition blocking administrator access to the Logs page entirely.
📍 영향받는 시스템
coreActivity: Activity Logging for WordPress 버전 3.0 및 이하
⚔️ 공격 벡터
인증 없이 로그인 시도 등의 이벤트 중 User-Agent HTTP 헤더에 직렬화된 PHP 페이로드 주입
🛡️ 대응 방법
coreActivity 플러그인을 버전 3.0 이상으로 업데이트하거나 User-Agent 헤더 검증 패치 적용
🔧 검증 코드
플러그인 디렉토리가 나타나면 설치된 상태입니다. 플러그인 내 readme.txt나 package.json에서 버전 확인 후 3.0 이하면 업데이트 필요합니다.
find /var/www/html/wp-content/plugins -type d -iname '*activity*' 2>/dev/null | grep -i coreactivity