
POC لـ CVE-2025-24813 باستخدام Spring-Boot
Tomcat معرّض للثغرة بسبب ثغرتين منفصلتين؛ الأولى هي نقطة ضعف في DefaultServlet تسمح بعمليات PUT الجزئية لكتابة دليل مؤقت.
انظر:
https://github.com/apache/tomcat/blob/f2a274bc00cf73670a614999561c69a391b5e35f/java/org/apache/catalina/servlets/DefaultServlet.java#L608
أما الثانية فهي فئة FileStore، التي تقوم بإلغاء تسلسل (deserializes) أي ملف .session في الدليل المؤقت.
انظر:
https://github.com/apache/tomcat/blob/05a72ef525e41835aaf5ce3d04122970f4aa8c21/java/org/apache/catalina/session/FileStore.java#L202
يستخدم التطبيق Tomcat 10.1.24 (مضمّن في Spring-Boot 3.3.0)، وهو معرّض لـ CVE-2025-24813، ويتم إعداده باستخدام:
PersistentManager و FileStoreserver.servlet.register-default-servlet=true)readonly=false)انظر القالب: https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-24813.yaml
يلزم فترة تبريد (cooldown period) تبلغ 60 ثانية لأن معالج FileStore يحتاج بعض الوقت ليلتقط ملف الجلسة وينفّذ الحمولة (payload):
nuclei -target http://localhost:8080/ -t http/cves/2025/CVE-2025-24813.yaml -interactions-cooldown-period 60 -v