Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-12543-Fix-for-Wildfly — डॉकर बेस इमेज जिसमें Undertow 1.4.x में CVE-2025-12543 के लिए होस्ट हेडर सत्यापन सुधार का बैकपोर्ट किया गया है, जो WildFly 11 अनुप्रयोगों की सुरक्षित तैनाती को सक्षम बनाता है। | Kitploit
उपकरण/GitHubGitHub/kavin71725/cve-2025-12543-fix-for-wildfly
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षाकंटेनर सुरक्षाभेद्यता विश्लेषणवेब सुरक्षाDevSecOpsआपूर्ति श्रृंखला सुरक्षागलत कॉन्फ़िगरेशन
GitHubkavin71725/cve-2025-12543-fix-for-wildfly

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

सभी देखें →

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

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

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

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

CVE-2025-12543-Fix-for-Wildfly

डॉकर बेस इमेज जिसमें Undertow 1.4.x में CVE-2025-12543 के लिए होस्ट हेडर सत्यापन सुधार का बैकपोर्ट किया गया है, जो WildFly 11 अनुप्रयोगों की सुरक्षित तैनाती को सक्षम बनाता है।

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

WildFly 11.0.0.Final बेस इमेज — CVE-2025-12543 पैच

अवलोकन

यह रिपॉजिटरी एक Docker बेस इमेज प्रदान करती है जो WildFly 11.0.0.Final पर बनाई गई है, जिसमें CVE-2025-12543 के लिए एक बैकपोर्टेड फिक्स है, जो Undertow में एक महत्वपूर्ण Host हेडर वैलिडेशन भेद्यता है।

यह इमेज सहकर्मियों को बेस के रूप में प्रदान करने के लिए है। वे इसके ऊपर अपना .war एप्लिकेशन और standalone.xml तैनात कर सकते हैं।


CVE-2025-12543 सारांश

फ़ील्डविवरण
CVE IDCVE-2025-12543
घटकio.undertow:undertow-core
गंभीरताक्रिटिकल (CVSS 9.6)
प्रभावित संस्करणसभी संस्करण < 2.2.39 (1.4.x सहित)
फिक्स किया गयाUndertow 2.2.39 / 2.3.22
WildFly 11 संस्करणundertow-core-1.4.18.Final — प्रभावित

भेद्यता विवरण

Undertow आने वाले HTTP अनुरोधों में Host हेडर को ठीक से मान्य नहीं करता है। विकृत या दुर्भावनापूर्ण Host हेडर वाले अनुरोधों को अस्वीकार किए बिना संसाधित किया जाता है, जिससे निम्न सक्षम होता है:

  • कैश पॉइज़निंग
  • सत्र अपहरण
  • आंतरिक नेटवर्क स्कैनिंग
  • क्रॉस-टेनेंट डेटा मिक्सिंग / ट्रस्ट-बाउंड्री बायपास

WildFly को अपग्रेड क्यों नहीं किया गया?

अन्य उपयोगकर्ता अभी भी WildFly 11 पर हैं, और अपग्रेड करने के लिए वर्तमान में कोई संसाधन या योजना नहीं है। फिक्स को सीधे Undertow 1.4.18.Final JAR में बैकपोर्ट किया गया था।


रिपॉजिटरी संरचना

root@kitploit:~
.
├── Dockerfile                                  # मुख्य इमेज परिभाषा
├── README.md
├── wildfly-dist-11.0.0.Final.tar.gz           # WildFly 11 वितरण संग्रह
├── reports/
│   ├── result-20260401-0230.txt               # CVE स्कैन रिपोर्ट जिसने भेद्यता की पहचान की
│   └── wildfly_11.0.0.Final_*.txt             # अतिरिक्त स्कैन रिपोर्ट
└── patch/
    ├── src/
    │   ├── HostHeaderHandler.java             # बैकपोर्टेड फिक्स — नया हैंडलर वर्ग
    │   ├── HttpReadListener_only.java         # डिकंपाइल्ड + पैच किया गया HttpReadListener स्रोत (संदर्भ)
    │   └── PatchHttpReadListener.java         # Javassist बाइटकोड पैचर टूल
    ├── build.sh                               # बिल्ड स्क्रिप्ट — स्क्रैच से पैच किया गया JAR पुनर्निर्माण करता है
    ├── undertow-core-1.4.18.Final.jar         # मूल (अपैच) JAR — संदर्भ के लिए रखा गया
    └── undertow-core-1.4.18.Final-patched.jar # पैच किया गया JAR इमेज में इंजेक्ट किया गया

फ़ाइल विवरण

Dockerfile

अंतिम इमेज बनाता है। यह:

  1. बेस के रूप में bitnamilegacy/java:1.8.432-7-debian-12-r2 (OpenJDK 1.8.0_432) का उपयोग करता है
  2. WildFly 11 को /opt/jboss/wildfly में निकालता है
  3. मूल undertow-core-1.4.18.Final.jar को पैच किए गए संस्करण से बदलता है
  4. standalone.sh -b 0.0.0.0 (सभी इंटरफेस से बाइंड) के माध्यम से WildFly शुरू करता है

patch/undertow-core-1.4.18.Final-patched.jar

पैच किया गया Undertow JAR। यह दो परिवर्तनों को छोड़कर मूल के समान है:

  • जोड़ा गया: io/undertow/server/handlers/HostHeaderHandler.class (और इसके आंतरिक वर्ग)
  • संशोधित: io/undertow/server/protocol/http/HttpReadListener.class — अनुरोध पाइपलाइन में HostHeaderHandler इंजेक्ट करता है

patch/src/HostHeaderHandler.java

बैकपोर्टेड Host हेडर वैलिडेशन हैंडलर। Undertow PR #1857 (UNDERTOW-2656) से पोर्ट किया गया।

सभी स्थिरांक (IP4_EXACT, IP6_EXACT, वर्ण तालिकाएँ) स्व-निहित हैं — Undertow 2.x में जोड़े गए API पर कोई निर्भरता नहीं। प्रत्येक HTTP अनुरोध पर, यह मान्य करता है:

  • Host हेडर मौजूद है (HTTP/1.1 के लिए आवश्यक)
  • बिल्कुल एक Host हेडर (कोई डुप्लिकेट नहीं)
  • पोर्ट संख्यात्मक है और 1–65535 की सीमा में है
  • IP शाब्दिक (IPv4, IPv6, IPvFuture) अच्छी तरह से बने हैं
  • होस्टनाम वर्ण मान्य RFC 3986 reg-name वर्ण हैं
  • किसी भी उल्लंघन पर 400 Bad Request के साथ अस्वीकार करता है

patch/src/PatchHttpReadListener.java

एक-शॉट Javassist बाइटकोड पैचर। यह मूल JAR से HttpReadListener लोड करता है और बदलता है:

root@kitploit:~
// पहले
Connectors.executeRootHandler(connection.getRootHandler(), exchange);

// बाद में
Connectors.executeRootHandler(
    HostHeaderHandler.WRAPPER.wrap(connection.getRootHandler()),
    exchange
);

यह HostHeaderHandler को स्वचालित रूप से प्रत्येक HTTP अनुरोध में इंजेक्ट करता है, बिना HttpReadListener के पूर्ण पुनर्संकलन की आवश्यकता के (जो जटिल आंतरिक वर्गों और xnio आंतरिक पर निर्भर करता है)।

patch/src/HttpReadListener_only.java

Undertow 1.4.18.Final से मूल HttpReadListener का डिकंपाइल्ड स्रोत, जो इंजेक्शन बिंदु का पता लगाने के लिए संदर्भ के रूप में उपयोग किया जाता है। इस स्रोत का पैच किया गया संस्करण भी ऑडिट उद्देश्यों के लिए रखा गया है।

reports/result-20260401-0230.txt

CVE स्कैन रिपोर्ट (2026-04-01 को उत्पन्न) जिसने undertow-core-1.4.18.Final में CVE-2025-12543 की पहचान की:

root@kitploit:~
/opt/jboss/wildfly/modules/system/layers/base/io/undertow/core/main/undertow-core-1.4.18.Final.jar

पैच प्रक्रिया

1. भेद्यता की पहचान करें

स्कैन रिपोर्ट (result-20260401-0230.txt) ने पुष्टि की कि undertow-core-1.4.18.Final CVE-2025-12543 (CVSS 9.6) से प्रभावित है।

2. अपस्ट्रीम फिक्स पर शोध करें

फिक्स Undertow PR #1857 में है, जिसे main (2026-01-09) में मर्ज किया गया और 2.2.x और 2.3.x में बैकपोर्ट किया गया। फिक्स HostHeaderHandler.java जोड़ता है और प्रत्येक अनुरोध पर Host हेडर को मान्य करने के लिए इसे HttpReadListener में वायर करता है।

3. प्रत्यक्ष अपग्रेड व्यवहार्यता का आकलन करें

Undertow 1.4.x → 2.2.x एक प्रमुख संस्करण छलांग है जिसमें ब्रेकिंग API परिवर्तन हैं। WildFly 11 JBoss Modules के माध्यम से Undertow 1.4.x से कसकर जुड़ा हुआ है। सीधे JAR स्वैप से स्टार्टअप पर ClassNotFoundException / NoSuchMethodError होगा।

4. HostHeaderHandler.java बैकपोर्ट करें

Undertow 1.4.18.Final के साथ संगत HostHeaderHandler.java का एक स्व-निहित संस्करण लिखें:

  • सभी regex स्थिरांकों को इनलाइन करें (IP4_EXACT, IP6_EXACT) — 1.4.x NetworkUtils में उपलब्ध नहीं
  • exchange.isHostIncludedInRequestURI() को हटाएं — 1.4.x HttpServerExchange में उपलब्ध नहीं
  • सभी वैलिडेशन तर्क को अपस्ट्रीम फिक्स के समान रखें

WildFly इमेज के अंदर Undertow 1.4.18 + xnio क्लासपाथ के विरुद्ध संकलित करें:

root@kitploit:~
javac -cp undertow-core-1.4.18.Final.jar:xnio-api-3.5.4.Final.jar:jboss-logging-3.3.1.Final.jar \
      -d out HostHeaderHandler.java

5. Javassist के माध्यम से HttpReadListener को पैच करें

इंजेक्शन बिंदु का पता लगाने के लिए Procyon के साथ HttpReadListener को डिकंपाइल करें:

root@kitploit:~
Connectors.executeRootHandler(this.connection.getRootHandler(), httpServerExchange);

handleEventWithNoRunningRequest() में स्थित है।

क्योंकि HttpReadListener में अनाम आंतरिक वर्ग ($1, $2, $3) हैं जिन्हें डिकंपाइल्ड स्रोत से संदर्भित नहीं किया जा सकता है, पूर्ण पुनर्संकलन संभव नहीं है। इसके बजाय, बाइटकोड को सीधे इंस्ट्रूमेंट करने के लिए Javassist (PatchHttpReadListener.java) का उपयोग करें — रूट हैंडलर को HostHeaderHandler.WRAPPER के साथ लपेटने के लिए executeRootHandler कॉल को बदलें।

root@kitploit:~
java -cp javassist.jar:undertow-core-1.4.18.Final.jar:out \
     PatchHttpReadListener undertow-core-1.4.18.Final.jar out/

6. JAR को पुनः पैकेज करें

मूल JAR को कॉपी करें और पैच किए गए/नए क्लास फ़ाइलों को इंजेक्ट करें:

root@kitploit:~
cp undertow-core-1.4.18.Final.jar undertow-core-1.4.18.Final-patched.jar
jar uf undertow-core-1.4.18.Final-patched.jar \
    -C out io/undertow/server/handlers/HostHeaderHandler.class \
    -C out "io/undertow/server/handlers/HostHeaderHandler\$Wrapper.class" \
    -C out "io/undertow/server/handlers/HostHeaderHandler\$1.class" \
    -C out io/undertow/server/protocol/http/HttpReadListener.class

7. Dockerfile अपडेट करें

पैच किए गए JAR के लिए एक COPY जोड़ें और इमेज के अंदर मूल को बदलें:

root@kitploit:~
COPY patch/undertow-core-1.4.18.Final-patched.jar /tmp/
RUN cp /tmp/undertow-core-1.4.18.Final-patched.jar \
       /opt/jboss/wildfly/modules/system/layers/base/io/undertow/core/main/undertow-core-1.4.18.Final.jar

8. बिल्ड और मान्य करें

root@kitploit:~
docker build -t wildfly:11.0.0.Final-patched .

सत्यापन:

root@kitploit:~
# मान्य Host हेडर — 200 लौटना चाहिए
curl -v -H "Host: localhost:8080" http://localhost:8080/

# Host में खराब वर्ण — 400 Host Header Bad Characters लौटना चाहिए
curl -v -H "Host: evil<script>" http://localhost:8080/

# डुप्लिकेट Host हेडर — 400 Bad Request लौटना चाहिए
# नोट: curl आंतरिक रूप से Host हेडर को डिडुप्लिकेट करता है, इसलिए इस परीक्षण के लिए एक कच्चे TCP अनुरोध की आवश्यकता है
exec 3<>/dev/tcp/localhost/8080; \
printf "GET / HTTP/1.1\r\nHost: localhost\r\nHost: evil.com\r\nConnection: close\r\n\r\n" >&3; \
sleep 1; head -1 <&3; exec 3>&-

# पोर्ट सीमा से बाहर — 400 Host Header Malformed Port लौटना चाहिए
curl -v -H "Host: localhost:99999" http://localhost:8080/
अनुरोधअपेक्षितपरिणाम
Host: localhost:8080 (मान्य)200 OK✓
Host: evil<script> (खराब वर्ण)400 Host Header Bad Characters✓
दो Host: हेडर (डुप्लिकेट, कच्चा TCP)400 Bad Request✓
Host: localhost:99999 (खराब पोर्ट)400 Host Header Malformed Port✓

ज्ञात व्यवहार परिवर्तन

HTTP/1.1 अनुरोधों में एक Host हेडर शामिल होना चाहिए

इस पैच से पहले, WildFly का REQUIRE_HOST_HTTP11 विकल्प डिफ़ॉल्ट रूप से false था, जिसका अर्थ है कि बिना Host हेडर के HTTP/1.1 अनुरोधों को चुपचाप स्वीकार कर लिया जाता था।

इस पैच के बाद, HostHeaderHandler RFC 7230 को सख्ती से लागू करता है — REQUIRE_HOST_HTTP11 सेटिंग की परवाह किए बिना, बिना Host हेडर वाले सभी HTTP/1.1 अनुरोधों को 400 No Host Header के साथ अस्वीकार कर दिया जाता है।

कौन प्रभावित हो सकता है:

  • हेल्थ चेक प्रोब जो बिना Host हेडर के नंगे GET / HTTP/1.1 भेजते हैं
  • आंतरिक निगरानी एजेंट या लोड बैलेंसर पिंग जो Host हेडर छोड़ देते हैं
  • कोई भी कस्टम HTTP/1.1 क्लाइंट जो Host हेडर सेट नहीं करता है

क्या करें: सुनिश्चित करें कि सभी HTTP/1.1 क्लाइंट में एक Host हेडर शामिल है। यह पहले से ही RFC 7230 द्वारा आवश्यक है और कोई भी मानक HTTP लाइब्रेरी (curl, Java का HttpClient, आदि) स्वचालित रूप से ऐसा करती है। केवल गैर-अनुपालक या बहुत पुराने कस्टम क्लाइंट प्रभावित होते हैं।

root@kitploit:~
# यह अब 400 के साथ अस्वीकार कर दिया जाएगा:
GET /health HTTP/1.1
Connection: close

# यह सही है और ठीक काम करेगा:
GET /health HTTP/1.1
Host: your-server:8080
Connection: close

स्क्रैच से पैच किए गए JAR का पुनर्निर्माण करना

यदि आपको एक नए वातावरण में patch/undertow-core-1.4.18.Final-patched.jar को पुनर्जीवित करने की आवश्यकता है (उदा., प्री-बिल्ट JAR उपलब्ध नहीं है), तो प्रदान की गई बिल्ड स्क्रिप्ट का उपयोग करें।

आवश्यकताएँ: Java 8 JDK, curl, Maven Central तक इंटरनेट पहुंच।

root@kitploit:~
cd patch
bash build.sh

स्क्रिप्ट यह करेगी:

  1. Maven Central से सभी आवश्यक JAR डाउनलोड करें (undertow-core, xnio-api, jboss-logging, javassist)
  2. HostHeaderHandler.java संकलित करें
  3. Javassist के माध्यम से HttpReadListener बाइटकोड को पैच करने के लिए PatchHttpReadListener.java संकलित और चलाएं
  4. सब कुछ undertow-core-1.4.18.Final-patched.jar में पुनः पैकेज करें

इसके पूरा होने के बाद, सामान्य रूप से docker build के साथ आगे बढ़ें।


इमेज बनाना

नोट: wildfly-dist-11.0.0.Final.tar.gz इस रिपॉजिटरी में शामिल नहीं है (GitHub की 100 MB सीमा से अधिक है)। बिल्ड करने से पहले इसे Maven Central से डाउनलोड करें:

root@kitploit:~
https://repo1.maven.org/maven2/org/wildfly/wildfly-dist/11.0.0.Final/wildfly-dist-11.0.0.Final.tar.gz
root@kitploit:~
docker build -t wildfly:11.0.0.Final-patched .

इमेज चलाना

root@kitploit:~
docker run -d -p 8080:8080 wildfly:11.0.0.Final-patched

सहकर्मी इमेज को अपनी तैनाती के साथ माउंट या विस्तारित कर सकते हैं:

root@kitploit:~
FROM wildfly:11.0.0.Final-patched
COPY standalone.xml /opt/jboss/wildfly/standalone/configuration/standalone.xml
COPY myapp.war /opt/jboss/wildfly/standalone/deployments/
टूल डाउनलोड करें