RCE بدون لاگین تو Bonita و Apache OFBiz
خلاصهٔ کاملتر
تحقیقی که لیدور بنشیترایت و آساف لِوکوویچ تو بلکهت ۲۰۲۶ ارائه کردن، ۱۲ آسیبپذیری روی چهار پلتفرم جاوای سازمانی رو مستند کرده. به گفتهٔ محققها نکتهٔ مهم این نیست که هر باگ بهتنهایی چقدر بزرگه، بلکه اینه که ایرادهای ریز میدلور — تفاوت در پارس کردن URL، فیلترهای ناقص سرولت، کلیدهای رمزنگاری hardcode شده و ارزیابی ناامن تمپلیت — کنار هم زنجیرهای میسازن که به تصاحب کامل بدون احراز هویت میرسه. گزارش از مسیر افشای هماهنگ منتشر شده.
زنجیرهٔ اول اسمش BadBonita هست و Bonita BPM نسخهٔ 10.4.3 رو هدف میگیره؛ پلتفرمی که برای مدیریت فرایندهای کاری و اتصال به SAP و LDAP و Salesforce استفاده میشه. تیم Novee Security نشون داده مهاجم میتونه به اینترفیس داخلی /serverAPI/ برسه که برخلاف سطح عمومی /API/ نه احراز هویت درست داره نه محافظت CSRF، و ورودی XML رو مستقیم با XStream دیسریالایز میکنه.
کلید ماجرا یه اختلاف تفسیره: جاوا مسیری که پارامترش سمیکالن داره رو یهجور نرمالسازی میکنه و دیسپچر Tomcat جور دیگه. نتیجه اینه که درخواستی که فیلترها اونو عمومی و بیخطر تشخیص دادن، داخلی فوروارد میشه. تطبیق ضعیف رجکس تو فیلترهای احراز هویت و CSRF و نبود محدودیت روی دیسپچر سرولت هم کار رو کامل میکنه، و از اونجا یه gadget chain مبتنی بر Groovy به اجرای کد میرسه. درس مقاله روشنه: API «فقط داخلی» بهخودیخود امن نیست.
زنجیرهٔ دوم با اسم SSOnOf(a)biz سراغ Apache OFBiz نسخهٔ 24.09.05 با SSO فعال میره. طبق گزارش Novee، این نسخه با یه کلید امضای HMAC برای JWT منتشر شده که توی سورس عمومی هم بوده؛ اگه ادمین عوضش نکرده باشه مهاجم میتونه توکن SSO با هویت ادمین جعل کنه و کلاً از پسورد رد شه. بعدش یه کلیم داخل همون توکن که قرار بوده فقط اسم ویجت باشه، به FlexibleStringExpander میرسه که عبارت Groovy رو ارزیابی میکنه. تنظیم کاربری javaScriptEnabled قرار بوده جلوی این ارزیابی رو بگیره، ولی مهاجمِ صاحب توکن جعلی خودش میتونه عوضش کنه و denylist هم چون حساس به حروف بزرگ و کوچیک بوده دور زده میشه. حاصلش یه RCE دو درخواستی با شناسهٔ CVE-2026-31986 هست.
مقاله برای تیمهایی که جاوای سازمانی اجرا میکنن یه چکلیست ممیزی میده: محدودیتهای web.xml که دیسپچرهای FORWARD و INCLUDE و ERROR رو پوشش نمیدن، استثناهای رجکسی که با تطبیق جزئی مثل Matcher.find() کار میکنن، کلیدهای امضای پیشفرض یا مشترک بین چند قابلیت، موتورهای تمپلیت و دیسریالایزرها و رانتایمهای اسکریپتی که از ورودی نامعتبر قابل دسترسن، فلگهای رابط کاربری که روی منطق سمت سرور اثر میذارن، و تنظیمات XStream که اجازهٔ تایپهای زیادی میدن.
نکات کلیدی:
- ۱۲ آسیبپذیری روی چهار پلتفرم جاوای سازمانی، شامل دو زنجیرهٔ RCE بدون احراز هویت
- BadBonita: Bonita BPM 10.4.3، اختلاف نرمالسازی مسیر بین جاوا و Tomcat + دیسریالایز XStream
- SSOnOf(a)biz: کلید HMAC هاردکد شدهٔ JWT تو Apache OFBiz 24.09.05 و ارزیابی Groovy، با شناسهٔ CVE-2026-31986
- الگوی مشترک هر دو: عبور از مرز اعتماد و رسیدن به یه نقطهٔ اجرای کد
- کلیدهای امضای پیشفرض رو حتماً عوض کنین و پوشش فیلترها رو برای مسیرهای فوروارد و خطا چک کنین
- میدلور و مسیرهای داخلی رو هم مثل سطح عمومی امن کنین




