Profile data are retrieved from ID token without verifying the token
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- objective-c
- Domaine
- authentication, mobile-dev, security
Piste de recherche
Commencez dans GoogleSignIn/Sources/GIDSignIn.m vers la ligne 803 et comparez la gestion actuelle de ID-token avec les recommandations backend-auth liées. Examinez la référence PKCE et déterminez le modèle attendu d’intégrité et de confiance pour les clients mobiles et desktop. La tâche est considérée comme terminée lorsqu’une approche de vérification a été convenue avant de pouvoir définir le périmètre de l’implémentation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug
Bug location: https://github.com/google/GoogleSignIn-iOS/blob/7932d33686c1dc4d7df7a919aae47361d1cdfda4/GoogleSignIn/Sources/GIDSignIn.m#L803
Here, profile data (email, name, profile picture, etc.) are being retrieved from the ID Token without verifying the integrity of the token. Ideally, an ID Token would be sent over to the backend server, which first verifies the signature of the token before using the profile information from the payload.
But, in this case, since we are directly retrieving the sensitive profile information (from ID Token's payload) to sign in a user, should we not verify the token first? Especially for mobile or desktop apps (which is the case here) where intermediary-free TLS cannot always be guaranteed?
Additionally, we are not using any CSRF protection (e.g, PKCE), so I think it is critical to verify the integrity of the ID Token before accepting the profile information from it.
- Langage dominant
- Objective-C
- Étoiles
- 756
- Forks
- 283
- Merge moyen
- 8 j 10 h
- PR mergées (30 j)
- 5
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de google/GoogleSignIn-iOS
-
Revoke request uses GET instead of POSTPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverteenhancement triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
google/GoogleSignIn-iOS#621 ·
-
enhancement triage
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
google/GoogleSignIn-iOS#620 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
google/GoogleSignIn-iOS#440 · 4 commentaires · 2 réactions ·
-
enhancement triage
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
google/GoogleSignIn-iOS#611 ·
-
Remove Cocoapods SupportOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
google/GoogleSignIn-iOS#607 ·
Toutes les issues de google/GoogleSignIn-iOS
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
DataDog/dd-sdk-ios#3293 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
callstackincubator/voltra#340 ·
Les mainteneurs répondent en général sous 4 jours
-
Fabric TextInput: prepareForRecycle leaves stale inputAccessoryViewButtonLabel (empty Done bar)OuverteNeeds: Author Feedback Needs: Repro
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
react/react-native#58952 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
iOS: number-pad TextInput shows a toolbar with a "Default" buttonPeut-être pris @Gauvino l’a pris il y a 2 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
SwiftOldDriver/iOS-Weekly#5454 ·