
إثبات مفهوم للاستغلال لثغرة حقن الأوامر CVE-2025-69600 في محرك فحص RayVentory Scan Engine rvia، يوضح تنفيذ التعليمات البرمجية عن بعد عبر خيارات getconfig و upload و inventory و oracle.
حقن الأوامر في rvia من Raynet يسمح للمهاجمين بتنفيذ الأوامر عبر خيارات getconfig وupload وinventory وoracle.
يتم التحقق فقط (إذا تم تكوينه عبر خاصية الإعدادات ForbiddenCurlChars في /etc/rvia_configuration) عند الحصول على عنوان URL من ملف الإعدادات /opt/rvia/rvia.cfg وليس عند تمرير عنوان URL مباشرةً إلى الخيارين getconfig أو upload.
/opt/rvia/rvia getconfig \;command\;

في الخلفية، يبدو الأمر المُشكَّل على النحو التالي:

من خلال الخيار oracle يمكن أيضًا حقن الأوامر.
قد يفشل هذا الخيار إذا لم يعثر
rviaعلى بيئة Java (في الخلفية يتم استدعاء الأمرfind) ولم يتم تعيين خيارjavaPathsفي/opt/rvia/rvia.cfg
في هذه الحالة، يتم تعريف /opt/rvia/rvia.cfg مع الخيار javaPaths=/usr/lib/jvm/java-21-openjdk-amd64/.
/opt/rvia/rvia oracle \;command\;

يبدو الأمر المُشكَّل على النحو التالي:

يحدث نفس الشيء في ملف الإعدادات (/opt/rvia/rvia.cfg) مع الخيارين oracleUser وoraclePass.

الاستدعاء في الخلفية هو التالي:

ينطبق الشيء نفسه على خيار upload بتحديد أمر لتنفيذه بعد تحديد عنوان URL. في هذه الحالة، يلزم الهروب من علامات الاقتباس المزدوجة مسبقًا، وكذلك علامة الهاش في نهاية الأمر لتجاهل الوسائط التالية.
قد يفشل هذا الخيار إذا لم تكن هناك ملفات جرد في الدليل
/opt/rvia/results(افتراضيًا) لرفعها، والتي يتم إنشاؤها بواسطة خيارinventory
/opt/rvia/rvia upload \"\;command\;#

من ltrace نرى ما يلي:

أخيرًا، خيار inventory ضعيف أيضًا.
/opt/rvia/rvia inventory \;command\;

الأمر المُشكَّل تحت الخلفية:
