
إثبات مفهوم APK لأندرويد لـ CVE-2025-10184، يوضح تجاوز إذن قراءة الرسائل القصيرة في مزودي الاتصالات OPPO/OnePlus. يتضمن كود المصدر، تفاصيل التحقق، وإصلاح يدوي للثغرة.
هذا بناء APK لـ PoC الخاص بـ CVE‑2025‑10184
الثغرة موجودة في com.*.providers.telephony، وتسمح لأي تطبيق بقراءة رسائل SMS دون الحصول على إذن قراءة SMS.
يمكن رؤية هذا المصدر والمزيد من التفاصيل في مقال Rapid7:
https://www.rapid7.com/blog/post/cve-2025-10184-oneplus-oxygenos-telephony-provider-permission-bypass-not-fixed/
يرجى تسجيل الدخول ثم تنزيل حزمة التثبيت غير الموقعة من Actions
تم التأكد من أن OPPO وعلاماتها الفرعية، جميع الإصدارات بدءًا من ColorOS 7.1، متأثرة.
قامت OPPO رسميًا بإصلاح هذه المشكلة (عن طريق استبدال الإذن المعلن من قبل Provider بـ OPLUS_COMPONENT_SAFE)، وتقوم حاليًا بدفع التحديث تدريجيًا.
أسهل طريقة للإصلاح: فقط تحقق مما إذا كان المتصل لديه إذن SMS قبل العملية.
ملاحظة: تم التحقق من أن هذه الطريقة تمنع القراءة، ولا تؤثر على قراءة التطبيقات التي لديها إذن SMS حقيقي، ولكن لم يتم اختبار التأثير على التوفر الآخر.
في ServiceNumberProvider أضف فحص الإذن في وقت التشغيل في بداية طريقة update في فئة:
.method public update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
.registers 8
+ invoke-virtual {p0}, Lcom/android/providers/telephony/ServiceNumberProvider;->getContext()Landroid/content/Context;
+ move-result-object v0
+
+ const-string v1, "android.permission.READ_SMS"
+ const-string v2, "Requires READ_SMS permission"
+ invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+
.line 157
iget-object p0, p0, Lcom/android/providers/telephony/ServiceNumberProvider;->mOpenHelper:Lcom/android/providers/telephony/MmsSmsDatabaseHelper;
invoke-virtual {p0}, Lcom/android/providers/telephony/MmsSmsDatabaseHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object p0
# ... 省略其余原有代码
.end method
يجب أيضًا إضافة الكود أعلاه إلى طريقة update في فئتي PushMessageProvider و PushShopProvider.
بعد التعديل، يرجى عدم التوقيع وتحتاج إلى تثبيت باستخدام تجاوز التوقيع الأساسي، وإلا فسوف يؤدي ذلك إلى تعطيل وظيفة الاتصال بالكامل وفقدان جميع رسائل SMS (بسبب آلية أمان النظام).