Pocket ID is an OIDC provider that allows users to authenticate with their passkeys to your services. Prior to 2.6.0, The createTokenFromRefreshToken function (oidc_service.go) validates the refresh token's cryptographic integrity but does not re-validate the user's current authorization state before issuing new tokens. This allows (1) the client to refresh the token indefinitely after authorization revocation, (2) the refresh token to continue to work after the account is disabled, and (3) the token to work after the client is removed from the group. This vulnerability is fixed in 2.6.0.
Pocket ID OIDC provider fails to re-validate user authorization state when issuing tokens from refresh tokens, allowing continued access after authorization revocation, account disabling, or client removal. This vulnerability affects versions prior to 2.6.0 and is resolved in version 2.6.0.
يفشل تطبيق Pocket ID في إعادة التحقق من حالة التفويض الحالية للمستخدم عند إصدار رموز جديدة من رموز التحديث. يسمح هذا الخلل بثلاث حالات هجوم: استمرار تحديث الرموز بعد إلغاء التفويض، واستمرار عمل الرموز بعد تعطيل الحساب، والوصول المستمر بعد إزالة العميل من المجموعة.
خادم Pocket ID للمصادقة لا يعيد التحقق من حالة تفويض المستخدم عند إصدار رموز من رموز التحديث، مما يسمح بالوصول المستمر بعد إلغاء التفويض أو تعطيل الحساب أو إزالة العميل. يؤثر هذا على الإصدارات السابقة للإصدار 2.6.0.
Upgrade Pocket ID to version 2.6.0 or later immediately. Implement server-side validation to re-check user authorization state, account status, and client group membership before issuing new tokens from refresh tokens. Conduct security audit of all active refresh tokens and revoke those associated with disabled accounts or removed clients.
قم بترقية Pocket ID إلى الإصدار 2.6.0 أو أحدث فوراً. طبق التحقق من جانب الخادم لإعادة فحص حالة تفويض المستخدم وحالة الحساب وعضوية مجموعة العميل قبل إصدار رموز جديدة. أجرِ تدقيقاً أمنياً لجميع رموز التحديث النشطة وأبطل تلك المرتبطة بالحسابات المعطلة أو العملاء المحذوفين.