{"vulnerability": "cve-2025-12352", "sightings": [{"uuid": "c933c186-f039-4fb4-ab6a-484dff2e767b", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2025-12352", "type": "seen", "source": "https://bsky.app/profile/cve.skyfleet.blue/post/3m4zfhoup262n", "content": "", "creation_timestamp": "2025-11-07T05:57:36.376614Z"}, {"uuid": "1682a804-3fda-4eff-9c74-33461820ee04", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2025-12352", "type": "seen", "source": "https://gist.github.com/Darkcrai86/0723a85f7f6920a9dd1111f50280d569", "content": "", "creation_timestamp": "2025-11-07T07:50:31.000000Z"}, {"uuid": "254144d2-d7f5-4538-a917-44e5a10b1cba", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2025-12352", "type": "seen", "source": "https://bsky.app/profile/jos1264.social.skynetcloud.site.ap.brid.gy/post/3m52mqy3xp6c2", "content": "", "creation_timestamp": "2025-11-07T17:41:15.206275Z"}, {"uuid": "c078cac5-8715-440f-849b-d53c813046a3", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2025-12352", "type": "seen", "source": "https://t.me/NinjaSec/299", "content": "Code execution, and bypass vulnerabilities \u2014 for educational purposes only:\n\n\n1. CVE-2025-47241 \u2013 Whitelist bypass in Browser Use tool (CVSS 9.3)\n2. CVE-2025-25014 \u2013 Prototype pollution in Kibana (CVSS 9.1)\n3. CVE-2025-29927 \u2013 Next.js middleware authorization bypass (CVSS 9.1)\n4. CVE-2025-24813 \u2013 Apache Tomcat path traversal RCE (Critical)\n5. CVE-2025-2783 \u2013 Chrome Mojo use-after-free (High)\n6. CVE-2025-2636 \u2013 WordPress InstaWP plugin LFI (High)\n7. CVE-2025-2505 \u2013 WordPress Age Gate plugin LFI (High)\n8. CVE-2025-2746 \u2013 Kentico CMS auth bypass (CVSS 9.8)\n9. CVE-2025-2747 \u2013 Kentico CMS staging sync auth bypass (CVSS 9.8)\n10. CVE-2025-3066 \u2013 Chrome Site Isolation use-after-free (High)\n11. CVE-2025-46728 \u2013 cpp-httplib DoS vulnerability\n12. CVE-2025-12345 \u2013 Buffer overflow in XYZ app (CVSS 9.0)\n13. CVE-2025-12346 \u2013 SQL injection in ABC web app (CVSS 8.5)\n14. CVE-2025-12347 \u2013 XSS in DEF platform (CVSS 7.8)\n15. CVE-2025-12348 \u2013 Auth bypass in GHI system (CVSS 9.2)\n16. CVE-2025-12349 \u2013 RCE in JKL service via crafted packets (CVSS 9.5)\n17. CVE-2025-12350 \u2013 Privilege escalation in MNO app (CVSS 8.7)\n18. CVE-2025-12351 \u2013 Info disclosure in PQR system (CVSS 7.5)\n19. CVE-2025-12352 \u2013 DoS in STU server (CVSS 6.8)\n20. CVE-2025-12353 \u2013 Directory traversal in VWX app (CVSS 8.0)\n21. CVE-2025-12354 \u2013 Command injection in YZA tool (CVSS 9.1)\n22. CVE-2025-12355 \u2013 Insecure deserialization in BCD lib (CVSS 9.3)\n23. CVE-2025-12356 \u2013 CSRF in EFG portal (CVSS 7.2)\n24. CVE-2025-12357 \u2013 Memory corruption in HIJ driver (CVSS 8.9)\n25. CVE-2025-12358 \u2013 Improper auth in KLM API (CVSS 9.0)\n\n#HackersFactory", "creation_timestamp": "2025-05-07T15:48:27.000000Z"}, {"uuid": "ed971045-53a4-48db-a7d8-4f3d4483de2f", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2025-12352", "type": "published-proof-of-concept", "source": "https://t.me/cyberedrussia/1799", "content": "\ud83d\udee1 \u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 WordPress Gravity Forms: \u043a\u0430\u043a \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c\u0441\u044f\n\nCVE-2025-12352 (CVSS 9.8) \u2014 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0435 WordPress Gravity Forms (\u0432\u0435\u0440\u0441\u0438\u0438 \u2264 2.9.20) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0447\u0435\u0440\u0435\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u044e Post Image.\n\n\u27a1\ufe0fGravity Forms \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 copy_post_image() \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 URL \u0432 wp-content/uploads \u0431\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u0438\u043f\u0430/\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b post-creation + \u043f\u043e\u043b\u0435 Post Image \u0438 \u0432 PHP \u0432\u043a\u043b\u044e\u0447\u0451\u043d allow_url_fopen, \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 uploads \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b (\u0432\u043a\u043b\u044e\u0447\u0430\u044f .php) \u2014 \u0438 \u043f\u0440\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 uploads \u044d\u0442\u043e \u0434\u0430\u0451\u0442 \u043f\u0443\u0442\u044c \u043a RCE. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 2.9.21, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e.\n\n\u26ab\ufe0f\u041a\u043e\u0433\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f?\n\n\u2022 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Gravity Forms \u2264 2.9.20\n\u2022 \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u0444\u043e\u0440\u043c\u044b \u0441 post-creation \u0438 \u043f\u043e\u043b\u0435\u043c Post Image\n\u2022 allow_url_fopen = On \u0432 PHP\n\u2022 \u0421\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 wp-content/uploads\n\u0415\u0441\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u043f\u0440\u043e \u0432\u0430\u0441 \u2014 \u0440\u0438\u0441\u043a\u0438 \u0435\u0441\u0442\u044c.\n\n\ud83d\udc49\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?\n\n\u0424\u043e\u0440\u043c\u0430 \u0441 Post Image \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 URL \u2192 copy_post_image() \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 \u0431\u0435\u0437 \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u2192 \u0444\u0430\u0439\u043b \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 uploads \u2192 \u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 PHP \u0432 uploads \u2014 \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c RCE. \u042d\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0430 CWE-434: unrestricted upload of dangerous file type.\n\n\ud83d\udca1 \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044e\n\n\u25aa\ufe0f1. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c Gravity Forms \u0434\u043e 2.9.21.\n\u25aa\ufe0f2. \u041f\u043e\u043a\u0430 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u2014 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c/\u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c Post Image \u0438 post-creation \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0445.\n\u25aa\ufe0f3. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c allow_url_fopen = Off \u0432 php.ini (\u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u0441\u0430\u0439\u0442).\n\u25aa\ufe0f4. \u0417\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 PHP \u0432 wp-content/uploads:\nApache:\n\n  php_admin_flag engine off\n\nNginx:\nlocation ~* /wp-content/uploads/.*\\.php$ {\n  deny all;\n}\n\u25aa\ufe0f5. WAF / \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430: \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443/\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 .php, .phtml \u0438 \u0442.\u043f. \u0432 uploads.\n\u25aa\ufe0f6. \u041f\u0440\u043e\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c uploads \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432:\nfind wp-content/uploads -type f -iname \"*.php*\"\n\u25aa\ufe0f7. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043b\u043e\u0433\u0438 \u0444\u043e\u0440\u043c \u043d\u0430 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0435 POST/GET (\u043f\u043e \u0434\u0430\u0442\u0435 \u0438 IP).\n\u25aa\ufe0f8. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0442\u0430\u043a\u0438\u0445 \u0444\u043e\u0440\u043c \u0432 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0430\u0443\u0434\u0438\u0442 WordPress \u0438 \u0432 CI/CD (\u0441\u0442\u0430\u0442\u0438\u043a/\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438).\n\n\u26a1\ufe0f\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0430\u043c\u043e\u0442\u0435\u0441\u0442\n\n1. \u0415\u0441\u0442\u044c \u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 Gravity Forms \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u043e\u0432 \u0438 \u043f\u043e\u043b\u0435\u043c Post Image?\n2. \u0412\u043a\u043b\u044e\u0447\u0451\u043d \u043b\u0438 allow_url_fopen? (\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: php -i | grep allow_url_fopen \u0438\u043b\u0438 phpinfo)\n3. \u0415\u0441\u0442\u044c \u043b\u0438 \u0432 wp-content/uploads \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430?\n\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0432\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u2014 \u00ab\u0434\u0430\u00bb \u2014 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0439\u0442\u0435 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0441\u0432\u0435\u0440\u0445\u0443.", "creation_timestamp": "2026-08-01T17:00:04.189391Z"}, {"uuid": "a957b21a-3c96-4a0d-868c-9739f7dac94a", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2025-12352", "type": "published-proof-of-concept", "source": "https://t.me/cyberedrussia/1799", "content": "\ud83d\udee1 \u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 WordPress Gravity Forms: \u043a\u0430\u043a \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c\u0441\u044f\n\nCVE-2025-12352 (CVSS 9.8) \u2014 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0435 WordPress Gravity Forms (\u0432\u0435\u0440\u0441\u0438\u0438 \u2264 2.9.20) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0447\u0435\u0440\u0435\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u044e Post Image.\n\n\u27a1\ufe0fGravity Forms \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 copy_post_image() \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 URL \u0432 wp-content/uploads \u0431\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u0438\u043f\u0430/\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b post-creation + \u043f\u043e\u043b\u0435 Post Image \u0438 \u0432 PHP \u0432\u043a\u043b\u044e\u0447\u0451\u043d allow_url_fopen, \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 uploads \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b (\u0432\u043a\u043b\u044e\u0447\u0430\u044f .php) \u2014 \u0438 \u043f\u0440\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 uploads \u044d\u0442\u043e \u0434\u0430\u0451\u0442 \u043f\u0443\u0442\u044c \u043a RCE. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 2.9.21, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e.\n\n\u26ab\ufe0f\u041a\u043e\u0433\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f?\n\n\u2022 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Gravity Forms \u2264 2.9.20\n\u2022 \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u0444\u043e\u0440\u043c\u044b \u0441 post-creation \u0438 \u043f\u043e\u043b\u0435\u043c Post Image\n\u2022 allow_url_fopen = On \u0432 PHP\n\u2022 \u0421\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 wp-content/uploads\n\u0415\u0441\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u043f\u0440\u043e \u0432\u0430\u0441 \u2014 \u0440\u0438\u0441\u043a\u0438 \u0435\u0441\u0442\u044c.\n\n\ud83d\udc49\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?\n\n\u0424\u043e\u0440\u043c\u0430 \u0441 Post Image \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 URL \u2192 copy_post_image() \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 \u0431\u0435\u0437 \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u2192 \u0444\u0430\u0439\u043b \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 uploads \u2192 \u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 PHP \u0432 uploads \u2014 \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c RCE. \u042d\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0430 CWE-434: unrestricted upload of dangerous file type.\n\n\ud83d\udca1 \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044e\n\n\u25aa\ufe0f1. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c Gravity Forms \u0434\u043e 2.9.21.\n\u25aa\ufe0f2. \u041f\u043e\u043a\u0430 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u2014 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c/\u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c Post Image \u0438 post-creation \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0445.\n\u25aa\ufe0f3. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c allow_url_fopen = Off \u0432 php.ini (\u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u0441\u0430\u0439\u0442).\n\u25aa\ufe0f4. \u0417\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 PHP \u0432 wp-content/uploads:\nApache:\n\n  php_admin_flag engine off\n\nNginx:\nlocation ~* /wp-content/uploads/.*\\.php$ {\n  deny all;\n}\n\u25aa\ufe0f5. WAF / \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430: \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443/\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 .php, .phtml \u0438 \u0442.\u043f. \u0432 uploads.\n\u25aa\ufe0f6. \u041f\u0440\u043e\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c uploads \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432:\nfind wp-content/uploads -type f -iname \"*.php*\"\n\u25aa\ufe0f7. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043b\u043e\u0433\u0438 \u0444\u043e\u0440\u043c \u043d\u0430 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0435 POST/GET (\u043f\u043e \u0434\u0430\u0442\u0435 \u0438 IP).\n\u25aa\ufe0f8. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0442\u0430\u043a\u0438\u0445 \u0444\u043e\u0440\u043c \u0432 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0430\u0443\u0434\u0438\u0442 WordPress \u0438 \u0432 CI/CD (\u0441\u0442\u0430\u0442\u0438\u043a/\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438).\n\n\u26a1\ufe0f\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0430\u043c\u043e\u0442\u0435\u0441\u0442\n\n1. \u0415\u0441\u0442\u044c \u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 Gravity Forms \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u043e\u0432 \u0438 \u043f\u043e\u043b\u0435\u043c Post Image?\n2. \u0412\u043a\u043b\u044e\u0447\u0451\u043d \u043b\u0438 allow_url_fopen? (\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: php -i | grep allow_url_fopen \u0438\u043b\u0438 phpinfo)\n3. \u0415\u0441\u0442\u044c \u043b\u0438 \u0432 wp-content/uploads \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430?\n\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0432\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u2014 \u00ab\u0434\u0430\u00bb \u2014 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0439\u0442\u0435 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0441\u0432\u0435\u0440\u0445\u0443.", "creation_timestamp": "2026-08-02T00:00:41.047271Z"}, {"uuid": "b7d2d0d0-9442-4c71-bb3b-faf697fc684c", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2025-12352", "type": "seen", "source": "https://bsky.app/profile/atomicedge.bsky.social/post/3moskqdb4sb2d", "content": "CVE-2025-12352 gravityforms (CVSS Score 9.8) \n\n#WordPress plugin #vulnerability #cybersecurity #wordpressfirewall #hacking #wpsecurity #atomicedge #cybersecurity #malware #vulnerabilityresearch #cve #redteam #proofofconcept", "creation_timestamp": "2026-06-21T14:16:39.153502Z"}, {"uuid": "b073c531-15a2-4034-ad03-a55f15acb116", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2025-12352", "type": "seen", "source": "https://t.me/cyberedrussia/1799", "content": "\ud83d\udee1 \u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 WordPress Gravity Forms: \u043a\u0430\u043a \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c\u0441\u044f\n\nCVE-2025-12352 (CVSS 9.8) \u2014 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0435 WordPress Gravity Forms (\u0432\u0435\u0440\u0441\u0438\u0438 \u2264 2.9.20) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0447\u0435\u0440\u0435\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u044e Post Image.\n\n\u27a1\ufe0fGravity Forms \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 copy_post_image() \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 URL \u0432 wp-content/uploads \u0431\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u0438\u043f\u0430/\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b post-creation + \u043f\u043e\u043b\u0435 Post Image \u0438 \u0432 PHP \u0432\u043a\u043b\u044e\u0447\u0451\u043d allow_url_fopen, \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 uploads \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b (\u0432\u043a\u043b\u044e\u0447\u0430\u044f .php) \u2014 \u0438 \u043f\u0440\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 uploads \u044d\u0442\u043e \u0434\u0430\u0451\u0442 \u043f\u0443\u0442\u044c \u043a RCE. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 2.9.21, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e.\n\n\u26ab\ufe0f\u041a\u043e\u0433\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f?\n\n\u2022 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Gravity Forms \u2264 2.9.20\n\u2022 \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u0444\u043e\u0440\u043c\u044b \u0441 post-creation \u0438 \u043f\u043e\u043b\u0435\u043c Post Image\n\u2022 allow_url_fopen = On \u0432 PHP\n\u2022 \u0421\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 wp-content/uploads\n\u0415\u0441\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u043f\u0440\u043e \u0432\u0430\u0441 \u2014 \u0440\u0438\u0441\u043a\u0438 \u0435\u0441\u0442\u044c.\n\n\ud83d\udc49\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?\n\n\u0424\u043e\u0440\u043c\u0430 \u0441 Post Image \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 URL \u2192 copy_post_image() \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 \u0431\u0435\u0437 \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u2192 \u0444\u0430\u0439\u043b \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 uploads \u2192 \u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 PHP \u0432 uploads \u2014 \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c RCE. \u042d\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0430 CWE-434: unrestricted upload of dangerous file type.\n\n\ud83d\udca1 \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044e\n\n\u25aa\ufe0f1. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c Gravity Forms \u0434\u043e 2.9.21.\n\u25aa\ufe0f2. \u041f\u043e\u043a\u0430 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u2014 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c/\u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c Post Image \u0438 post-creation \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0445.\n\u25aa\ufe0f3. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c allow_url_fopen = Off \u0432 php.ini (\u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u0441\u0430\u0439\u0442).\n\u25aa\ufe0f4. \u0417\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 PHP \u0432 wp-content/uploads:\nApache:\n\n  php_admin_flag engine off\n\nNginx:\nlocation ~* /wp-content/uploads/.*\\.php$ {\n  deny all;\n}\n\u25aa\ufe0f5. WAF / \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430: \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443/\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 .php, .phtml \u0438 \u0442.\u043f. \u0432 uploads.\n\u25aa\ufe0f6. \u041f\u0440\u043e\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c uploads \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432:\nfind wp-content/uploads -type f -iname \"*.php*\"\n\u25aa\ufe0f7. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043b\u043e\u0433\u0438 \u0444\u043e\u0440\u043c \u043d\u0430 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0435 POST/GET (\u043f\u043e \u0434\u0430\u0442\u0435 \u0438 IP).\n\u25aa\ufe0f8. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0442\u0430\u043a\u0438\u0445 \u0444\u043e\u0440\u043c \u0432 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0430\u0443\u0434\u0438\u0442 WordPress \u0438 \u0432 CI/CD (\u0441\u0442\u0430\u0442\u0438\u043a/\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438).\n\n\u26a1\ufe0f\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0430\u043c\u043e\u0442\u0435\u0441\u0442\n\n1. \u0415\u0441\u0442\u044c \u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 Gravity Forms \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u043e\u0432 \u0438 \u043f\u043e\u043b\u0435\u043c Post Image?\n2. \u0412\u043a\u043b\u044e\u0447\u0451\u043d \u043b\u0438 allow_url_fopen? (\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: php -i | grep allow_url_fopen \u0438\u043b\u0438 phpinfo)\n3. \u0415\u0441\u0442\u044c \u043b\u0438 \u0432 wp-content/uploads \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430?\n\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0432\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u2014 \u00ab\u0434\u0430\u00bb \u2014 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0439\u0442\u0435 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0441\u0432\u0435\u0440\u0445\u0443.", "creation_timestamp": "2026-07-29T12:01:52.451745Z"}, {"uuid": "0ffc2bf8-d345-47b2-a098-838d16f0435e", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2025-12352", "type": "seen", "source": "https://t.me/cyberedrussia/1799", "content": "\ud83d\udee1 \u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 WordPress Gravity Forms: \u043a\u0430\u043a \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c\u0441\u044f\n\nCVE-2025-12352 (CVSS 9.8) \u2014 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0435 WordPress Gravity Forms (\u0432\u0435\u0440\u0441\u0438\u0438 \u2264 2.9.20) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0447\u0435\u0440\u0435\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u044e Post Image.\n\n\u27a1\ufe0fGravity Forms \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 copy_post_image() \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 URL \u0432 wp-content/uploads \u0431\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u0438\u043f\u0430/\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b post-creation + \u043f\u043e\u043b\u0435 Post Image \u0438 \u0432 PHP \u0432\u043a\u043b\u044e\u0447\u0451\u043d allow_url_fopen, \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 uploads \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b (\u0432\u043a\u043b\u044e\u0447\u0430\u044f .php) \u2014 \u0438 \u043f\u0440\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 uploads \u044d\u0442\u043e \u0434\u0430\u0451\u0442 \u043f\u0443\u0442\u044c \u043a RCE. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 2.9.21, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e.\n\n\u26ab\ufe0f\u041a\u043e\u0433\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f?\n\n\u2022 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Gravity Forms \u2264 2.9.20\n\u2022 \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u0444\u043e\u0440\u043c\u044b \u0441 post-creation \u0438 \u043f\u043e\u043b\u0435\u043c Post Image\n\u2022 allow_url_fopen = On \u0432 PHP\n\u2022 \u0421\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 wp-content/uploads\n\u0415\u0441\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u043f\u0440\u043e \u0432\u0430\u0441 \u2014 \u0440\u0438\u0441\u043a\u0438 \u0435\u0441\u0442\u044c.\n\n\ud83d\udc49\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?\n\n\u0424\u043e\u0440\u043c\u0430 \u0441 Post Image \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 URL \u2192 copy_post_image() \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 \u0431\u0435\u0437 \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u2192 \u0444\u0430\u0439\u043b \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 uploads \u2192 \u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 PHP \u0432 uploads \u2014 \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c RCE. \u042d\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0430 CWE-434: unrestricted upload of dangerous file type.\n\n\ud83d\udca1 \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044e\n\n\u25aa\ufe0f1. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c Gravity Forms \u0434\u043e 2.9.21.\n\u25aa\ufe0f2. \u041f\u043e\u043a\u0430 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u2014 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c/\u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c Post Image \u0438 post-creation \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0445.\n\u25aa\ufe0f3. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c allow_url_fopen = Off \u0432 php.ini (\u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u0441\u0430\u0439\u0442).\n\u25aa\ufe0f4. \u0417\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 PHP \u0432 wp-content/uploads:\nApache:\n\n  php_admin_flag engine off\n\nNginx:\nlocation ~* /wp-content/uploads/.*\\.php$ {\n  deny all;\n}\n\u25aa\ufe0f5. WAF / \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430: \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443/\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 .php, .phtml \u0438 \u0442.\u043f. \u0432 uploads.\n\u25aa\ufe0f6. \u041f\u0440\u043e\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c uploads \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432:\nfind wp-content/uploads -type f -iname \"*.php*\"\n\u25aa\ufe0f7. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043b\u043e\u0433\u0438 \u0444\u043e\u0440\u043c \u043d\u0430 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0435 POST/GET (\u043f\u043e \u0434\u0430\u0442\u0435 \u0438 IP).\n\u25aa\ufe0f8. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0442\u0430\u043a\u0438\u0445 \u0444\u043e\u0440\u043c \u0432 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0430\u0443\u0434\u0438\u0442 WordPress \u0438 \u0432 CI/CD (\u0441\u0442\u0430\u0442\u0438\u043a/\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438).\n\n\u26a1\ufe0f\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0430\u043c\u043e\u0442\u0435\u0441\u0442\n\n1. \u0415\u0441\u0442\u044c \u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 Gravity Forms \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u043e\u0432 \u0438 \u043f\u043e\u043b\u0435\u043c Post Image?\n2. \u0412\u043a\u043b\u044e\u0447\u0451\u043d \u043b\u0438 allow_url_fopen? (\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: php -i | grep allow_url_fopen \u0438\u043b\u0438 phpinfo)\n3. \u0415\u0441\u0442\u044c \u043b\u0438 \u0432 wp-content/uploads \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430?\n\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0432\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u2014 \u00ab\u0434\u0430\u00bb \u2014 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0439\u0442\u0435 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0441\u0432\u0435\u0440\u0445\u0443.", "creation_timestamp": "2026-07-30T00:02:04.522996Z"}]}