Pocket ID is an OIDC provider that allows users to authenticate with their passkeys to your services. Prior to 2.4.0, the OIDC token endpoint rejects an authorization code only when both the client ID is wrong and the code is expired. This allows cross-client code exchange and expired code reuse. This vulnerability is fixed in 2.4.0.
Pocket ID OIDC provider versions prior to 2.4.0 contain an authorization code validation flaw (CWE-863) allowing attackers to exchange authorization codes across different clients or reuse expired codes. This critical authentication bypass affects any organization using Pocket ID for passkey-based authentication. The vulnerability has public exploits available and requires immediate patching to prevent unauthorized access to integrated services.
1. IMMEDIATE: Identify all instances of Pocket ID in your environment and document version numbers
2. URGENT: Upgrade all Pocket ID deployments to version 2.4.0 or later immediately
3. INTERIM CONTROL: If immediate patching is not possible, implement strict token validation at the application layer—verify that authorization codes are single-use and validate client ID matches on every token exchange
4. DETECTION: Monitor authentication logs for:
- Multiple token exchange attempts with same authorization code
- Token exchanges from different client IDs using same code
- Successful authentication with expired authorization codes
5. VALIDATION: After patching, conduct penetration testing to confirm authorization code reuse is blocked
6. AUDIT: Review authentication logs for the past 90 days to identify potential exploitation
1. فوري: حدد جميع حالات Pocket ID في بيئتك وقم بتوثيق أرقام الإصدارات
2. عاجل: قم بترقية جميع نشرات Pocket ID إلى الإصدار 2.4.0 أو أحدث على الفور
3. تحكم مؤقت: إذا لم يكن التصحيح الفوري ممكنًا، قم بتنفيذ التحقق الصارم من الرموز على مستوى التطبيق—تحقق من أن رموز التفويض أحادية الاستخدام والتحقق من تطابق معرف العميل في كل تبديل رمز
4. الكشف: راقب سجلات المصادقة للبحث عن:
- محاولات تبديل رموز متعددة برمز تفويض واحد
- تبديلات الرموز من معرفات عملاء مختلفة باستخدام نفس الرمز
- المصادقة الناجحة برموز التفويض المنتهية الصلاحية
5. التحقق: بعد التصحيح، أجرِ اختبار الاختراق للتأكد من حظر إعادة استخدام رمز التفويض
6. التدقيق: راجع سجلات المصادقة لآخر 90 يومًا لتحديد الاستغلال المحتمل