Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
tomcat-rewrite-ns-loop — Apache Tomcat 11.0.27 - उच्च - रिमोट - DoS - RewriteValve [NS] worker pin | Kitploit
उपकरण/GitHubGitHub/abraxas/tomcat-rewrite-ns-loop
रक्षात्मक उपकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षालैब और अभ्यास
GitHubabraxas/tomcat-rewrite-ns-loop

tomcat-rewrite-ns-loop

Apache Tomcat 11.0.27 - उच्च - रिमोट - DoS - RewriteValve [NS] worker pin

रिपॉजिटरी देखें
21249 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - tomcat-rewrite-ns-loop

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  tomcat-rewrite-ns-loop

राइट-अप: https://abraxaslabs.tech/research/tomcat-rewrite-ns-loop

tomcat-rewrite-ns-loop

वर्ग: DoS पहुँच: रिमोट

Apache Tomcat 11.0.27 (52f3b364) - tomcat.apache.org

RewriteValve.parseRuleFlag प्रीफ़िक्स-मैच करता है। NC/NE के बाद, startsWith("N") वाला कोई भी शेष फ़्लैग next को सक्षम कर देता है। httpd से कॉपी किए गए [NS] (nosubreq) और [NV] (novary) [N] बन जाते हैं। प्रतिस्थापन - substitution को null छोड़ता है; तब RewriteRule.evaluate मूल URL लौटाता है। isNext() के साथ एक गैर-null newtest i = -1 सेट करता है, बिना किसी राउंड कैप के, इसलिए एक अनप्रमाणित GET जो नियम से मेल खाता है, HTTP कनेक्टर थ्रेड को तब तक पिन कर देता है जब तक क्लाइंट ड्रॉप न करे या प्रोसेस रीस्टार्ट न हो। स्पष्ट [N] और [S=-1] वही पिन हैं। [L,NS] सुरक्षित है क्योंकि isLast() पहले ब्रेक करता है।

CVE-2026-65927 (Important, 11.0.25) ने [N] के दूसरे नियम पर रीस्टार्ट होने को ठीक किया। इस पिन में अभी भी कोई राउंड कैप नहीं है। 11.0.27 के बाद उसी दिन के main ने MAX_REWRITE_ROUNDS=1000 और सटीक फ़्लैग मैचिंग (2da9fddb, 8992dbdd) जोड़े, बिना किसी सुरक्षा सलाह के।

IDअभी तक कोई CVE नहीं
वर्गDoS
पहुँचरिमोट (अनप्रमाणित HTTP)
CWECWE-835
CVSSHigh: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
उत्पादApache Tomcat
प्रभावित11.0.27 (52f3b364e5882a5dbcfc42cb8313a7c2ae532c64) RewriteValve
प्रमाणीकरणअनप्रमाणित HTTP
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

मैंने टैग 11.0.27 पिन किया और RewriteValve.invoke पढ़ा। यह वाल्व स्टॉक conf/server.xml में नहीं है। डिफ़ॉल्ट Host पथ conf/Catalina/localhost/rewrite.config है। लैब 127.0.0.1:18910 पर लूपबैक HTTP है। आधिकारिक 11.0.27 टारबॉल। RCE नहीं।

एक हमलावर क्या कर सकता है

विधिसिंकविशेषाधिकार
अनप्रमाणित GET /loop जो Host rewrite.config के RewriteRule ^/loop$ - [NS] से मेल खाता हैRewriteValve.invoke में i = -1 क्योंकि टोकन NS पर startsWith("N")उपलब्धता (लैब-प्रमाणित): एक HTTP कनेक्टर थ्रेड को तब तक पिन करें जब तक क्लाइंट ड्रॉप न करे या प्रोसेस रीस्टार्ट न हो। लैब: /loop 4.002s पर टाइमआउट हुआ।
स्पष्ट [N] के साथ अनप्रमाणित GET /nextवही isNext() रीस्टार्टउपलब्धता (लैब-प्रमाणित): वही पिन। लैब: /next 4.003s पर टाइमआउट हुआ।
[S=-1] के साथ अनप्रमाणित GET /skipi += -1 फिर for इंक्रीमेंटउपलब्धता (लैब-प्रमाणित): वही पिन। लैब: /skip 4.002s पर टाइमआउट हुआ।
प्रति वर्कर एक मेल खाती रिक्वेस्टवही सिंक, maxThreads समवर्ती मेल खाते URLउपलब्धता (अनुमानित): कनेक्टर पूल भरें (लैब ने 32 उपयोग किए; स्टॉक डिफ़ॉल्ट 200 है)। नई रिक्वेस्ट तब कतार में लगेंगी या अस्वीकार होंगी। एक /loop इन-फ़्लाइट रहते हुए सहोदर /ok ने अभी भी उत्तर दिया।
/ok पर 13ms 404 बनाम हैंगnext/skip का टाइमिंग बनाम [L]रीकॉन (लैब-प्रमाणित): पता लगाएँ कि next/skip नियम मेल खाया। लैब: 4.002s हैंग बनाम 0.013s 404।

लैब-प्रमाणित बनाम अनुमानित: /loop [NS] हैंग, /next [N] हैंग, /skip [S=-1] हैंग, /ok [L] 13ms में 404, /safe [L,NS] 5ms में 404, और /loop इन-फ़्लाइट रहते हुए सहोदर /ok 404 लैब-प्रमाणित हैं। पूल एक्सहॉशन एक-थ्रेड पिन और maxThreads से अनुमानित है।

आवश्यक: Host या Context पर RewriteValve और एक मेल खाता rewrite.config नियम। Valve opt-in है, उसी श्रेणी का जैसे कमेंट किया गया AJP। कॉपी किया गया httpd [NS] एक मेल खाता नियम है, न कि जानबूझकर बनाया गया अनंत [N] लूप।

निकटवर्ती सतह जो बंद रहती है

सतहलैब
[L,NS] (httpd last+nosubreq)/safe 5ms में 404 (L-ns-safe=yes)
एक थ्रेड पिन होने के दौरान अन्य इन-फ़्लाइट अनुरोध/loop के दौरान /ok 13ms में 404 (sibling-alive=yes)
RewriteValve के बिना स्टॉक server.xmlvalve अनुपस्थित; leftover सक्रिय नहीं होता
CVE-2026-65927 का RCE / WEB-INF पठन / constraint bypass[N] अब नियम 0 पर पुनः आरंभ होता है; यह leftover केवल availability से संबंधित है
Manager / JMX / AJP / DefaultServlet PUTअपरिवर्तित; PUT अभी भी readonly

Tomcat उपयोगकर्ता के रूप में कोई कोड निष्पादन नहीं। conf/ या WEB-INF का कोई पठन नहीं। कोई session चोरी नहीं। कोई Manager deploy नहीं। JVM चालू रहता है; पूल भरने तक अन्य workers उत्तर देते रहते हैं।

लैब

cd lab
./run.sh

Loopback 127.0.0.1:18910 कंटेनर 8080 को मैप करता है। Compose प्रोजेक्ट tomcat-rewrite-ns-loop। इमेज टैग tomcat-rewrite-ns-loop:11.0.27। आधिकारिक apache-tomcat-11.0.27.tar.gz SHA512 a617896307cada4884b24f80c4e977ddad8b3e0f88ce0e2a6eea29d5f332498e276ae5976c227a9c8daecf05c7c90def684a3766dd5a81f47a56d8b1adf43dc3। विटनेस TOMCAT-REWRITE-NS-LOOP-WITNESS। अंतिम पंक्ति:

SUCCESS TOMCAT-REWRITE-NS-LOOP control-ok=yes ns-hang=yes L-ns-safe=yes n-hang=yes skip-hang=yes sibling-alive=yes TOMCAT-REWRITE-NS-LOOP-WITNESS

Lab rewrite.config:

RewriteRule ^/loop$ - [NS]
RewriteRule ^/next$ - [N]
RewriteRule ^/skip$ - [S=-1]
RewriteRule ^/ok$ - [L]
RewriteRule ^/safe$ - [L,NS]

समाधान

रीराइट राउंड्स को सीमित करें (main पर इस टैग के बाद MAX_REWRITE_ROUNDS=1000, कमिट 2da9fddb)। सटीक-मिलान फ़्लैग ताकि [NS] पार्स विफल हो जाए (कमिट 8992dbdd)। skip < 0 को अस्वीकार करें। जब तक ये किसी रिलीज़ में न आ जाएं: मिलान नियमों पर [NS]/[NV]/[N]/[S=-1] का उपयोग न करें, या RewriteValve को हटा दें।

संदर्भ

  • github.com/apache/tomcat टैग 11.0.27 (52f3b364e5882a5dbcfc42cb8313a7c2ae532c64)
  • RewriteValve.java isNext() रीस्टार्ट और startsWith("N")
  • RewriteRule.java प्रतिस्थापन - मूल URL लौटाता है
  • सहोदर (इंडेक्स बग, यह अनबाउंड लूप नहीं): CVE-2026-65927
  • समान Important थ्रेड-पिन वर्ग: CVE-2026-78383 AJP, CVE-2026-77791 WebSocket क्लोज़
  • CWE-835
टूल डाउनलोड करें