Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-22732-demo — مستنسخ مصغّر لثغرة CVE-2026-22732 — تجاهل ترويسات HTTP في Spring Security بصمت | Kitploit
أدوات/GitHubGitHub/semgrep/cve-2026-22732-demo
تحليل الثغرات الأمنيةالاستغلالأمن الويبالأوراق والأبحاثالتعلم والتعليمArchived
GitHubsemgrep/cve-2026-22732-demo

cve-2026-22732-demo

مستنسخ مصغّر لثغرة CVE-2026-22732 — تجاهل ترويسات HTTP في Spring Security بصمت

عرض المستودع
منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-22732 Demo

نسخة مصغّرة لإعادة إنتاج CVE-2026-22732 — حيث يتم إسقاط ترويسات استجابة HTTP الأمنية في Spring Security بصمت عندما يكتب كود الـ Controller مباشرةً إلى استجابة الـ servlet.

الثغرة الأمنية

يستخدم Spring Security كتابة الترويسات "الكسلانة" (lazy) افتراضيًا. عندما يكتب الـ Controller إلى response.getOutputStream()، أو يستدعي response.flushBuffer()، أو يضبط Content-Length عبر setIntHeader()، يتم الالتزام بالاستجابة قبل أن يتمكن Spring Security من حقن ترويساته الأمنية (X-Frame-Options، X-Content-Type-Options، Cache-Control، Strict-Transport-Security، إلخ).

— لا يتطلب مصادقة أو تفاعلًا من المستخدم.

CVSS 3.1: 9.1 (حرجة)

الإصدارات المتأثرة

  • Spring Security 5.7.0–5.7.21، 5.8.0–5.8.23، 6.3.0–6.3.14، 6.4.0–6.4.14، 6.5.0–6.5.8، 7.0.0–7.0.3

هيكل المشروع

root@kitploit:~
src/main/java/com/example/vuln/
├── VulnApplication.java      # نقطة دخول Spring Boot
├── SecurityConfig.java        # يضبط الترويسات الأمنية (X-Frame-Options، CSP، إلخ)
└── VulnController.java        # نقطة نهاية آمنة + 3 نقاط نهاية قابلة للاستغلال
src/test/java/com/example/vuln/
└── HeaderVerificationTest.java # اختبارات تفشل على الإصدارات القابلة للاستغلال

نقاط النهاية

نقطة النهايةقابلة للاستغلال؟المُشغِّل
GET /safeلاإرجاع Spring MVC عادي
GET /vuln/streamنعمالكتابة إلى response.getOutputStream()
GET /vuln/flushنعماستدعاء response.flushBuffer()
GET /vuln/content-lengthنعمضبط Content-Length عبر setIntHeader()

التشغيل

root@kitploit:~
./mvnw spring-boot:run

ثم تحقق باستخدام curl:

root@kitploit:~
# آمن — الترويسات موجودة
curl -i http://localhost:8080/safe

# قابل للاستغلال — الترويسات الأمنية مفقودة
curl -i http://localhost:8080/vuln/stream
curl -i http://localhost:8080/vuln/flush
curl -i http://localhost:8080/vuln/content-length

تشغيل الاختبارات

root@kitploit:~
./mvnw test

على إصدار قابل للاستغلال، ستفشل اختبارات vuln* (الترويسات مفقودة). على إصدار مُصحَّح (6.5.9+ / 7.0.4+)، تنجح جميع الاختبارات.

الإصلاح

حدّث pom.xml لاستخدام إصدار مُصحَّح من Spring Security:

root@kitploit:~
<spring-security.version>6.5.9</spring-security.version>
تنزيل الأداة