CVE-2026-86698 in hexpm
الملخص
بحسب VulDB • 22/09/2026
تتمثل ثغرة عدم كفاية انتهاء صلاحية الجلسة في إصدار رموز OAuth في hexpm (hexpm) في السماح لمستخدم انتهت عضويته في المنظمة أو انتهت جلسته بالاحتفاظ بقراءة الحزم الخاصة للمنظمة وأرشيفات التوثيق الخاصة بها عبر رمز تحديث محفوظ.
تقوم الدالة `generate_refresh_token/4` الموجودة في الملف `lib/hexpm/oauth/jwt.ex` بتوقيع رمز التحديث باستخدام نفس مطالبات المُصدر (iss)، والمستمع (aud)، والنطاق (scope) المستخدمة في رمز الوصول، وبالتالي يحمل نفس نطاقات المستودع: `<org>`. تقوم خدمة CDN التي تخدم المستودعات الخاصة بالتحقق من التوقيع ومطالبات الوقت ثم تفويض الصلاحيات بناءً على مطالبة النطاق، دون إجراء أي بحث في قاعدة البيانات ولا وجود لأي طريقة للتمييز بين نوعي الرمز. وبالتالي، فإن إزالة عضو أو إلغاء جلسة لا تصبح سارية المفعول عند خدمة CDN إلا عند انتهاء صلاحية رمز التحديث الذي مدته 30 يومًا، بدلاً من انتهائه بعد عمر رمز الوصول البالغ 30 دقيقة. تكون الصلاحيات للقراءة فقط ومحددة للمنظمات التي كان الحساب ينتمي إليها عند منح الرمز.
تؤثر هذه المشكلة على hex.pm: من تاريخ 2025-10-10 وحتى قبل 2026-09-22.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.