Development #45672
ValueError: A string literal cannot contain NUL (0x00) characters.
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/3589/
File "/usr/lib/python3/dist-packages/authentic2/views.py" in login 322. if service and models.Service.objects.filter(slug=service).exists(): File "/usr/lib/python3/dist-packages/django/db/models/query.py" in exists 673. return self.query.has_results(using=self.db) File "/usr/lib/python3/dist-packages/django/db/models/sql/query.py" in has_results 517. return compiler.has_results() File "/usr/lib/python3/dist-packages/django/db/models/sql/compiler.py" in has_results 858. return bool(self.execute_sql(SINGLE)) File "/usr/lib/python3/dist-packages/django/db/models/sql/compiler.py" in execute_sql 899. raise original_exception File "/usr/lib/python3/dist-packages/django/db/models/sql/compiler.py" in execute_sql 889. cursor.execute(sql, params) File "/usr/lib/python3/dist-packages/django/db/backends/utils.py" in execute 79. return super(CursorDebugWrapper, self).execute(sql, params) File "/usr/lib/python3/dist-packages/sentry_sdk/integrations/django/__init__.py" in execute 434. return real_execute(self, sql, params) File "/usr/lib/python3/dist-packages/django/db/backends/utils.py" in execute 64. return self.cursor.execute(sql, params) Exception Type: ValueError at /login/ Exception Value: A string literal cannot contain NUL (0x00) characters. Request URL: https://.../login/?service=/etc/passwd%00&next=/idp/oidc/authorize/?client_id=25b398d3-7e70-4e0a-83ff-852e49298674&scope=openid+profile+email&response_type=code&redirect_uri=...
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Projet changé de Suivi des traces à Authentic 2
- Description mis à jour (diff)
(trace plus complète + URL ajoutées à la description)
Côté django un problème similaire a été https://code.djangoproject.com/ticket/30064 (https://github.com/django/django/commit/5b4c6b58a097028de970875605680df941ab0a47), la solution adoptée y a été de passer par une classe de formulaire plutôt qu'exploiter directement le request.GET.
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Ça dépend du validateur ProhibitNullCharacterValidator qui n'est introduit qu'en Django > 2.
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Fichier 0001-misc-unserialize-attribute-in-registration-view-4567.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
C'est vraiment pas le fix que je voudrai faire, parce que la gestion du jeton passé de vue en vue laisse à désirer (repasse le contenu tel quel au formulaire ne marche vraiment pas en fait), mais pour l'instant ça fera l'affaire.
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Statut changé de Solution proposée à Nouveau
Mauvais ticket.
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Fichier
0001-misc-unserialize-attribute-in-registration-view-4567.patchsupprimé
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Fichier 0001-misc-validate-and-use-a-real-identifier-for-services.patch 0001-misc-validate-and-use-a-real-identifier-for-services.patch ajouté
- Statut changé de Nouveau à Solution proposée
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Bon j'en ai profité pour abstraire tous les passages d'identifiants de service.
Mis à jour par Serghei Mihai il y a plus de 3 ans
Pourquoi avoir choisi l'espace comme séparateur entre le slug de l'OU et celui du service?
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Serghei Mihai a écrit :
Pourquoi avoir choisi l'espace comme séparateur entre le slug de l'OU et celui du service?
Parce qu'il n'y a pas d'espace dans les slugs ?
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Mis à jour par Serghei Mihai il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 26066ab51761073e1e9c5168d92893aa3d8045b2 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu Aug 13 16:48:24 2020 +0200 misc: validate and use a real identifier for services (#45672)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: validate and use a real identifier for services (#45672)