veilletech.fr
11 sept. Feed du jour
#03 SÉCURITÉ Faille

Datasette : deux versions ferment vos tables privées

Une table privée l'est jusqu'au premier index qui la trahit.

Datasette 0.65.4 et 1.0a39, publiées le 11 septembre, regroupent une vingtaine de correctifs de sécurité, presque tous sur des instances publiques qui mélangent tables publiques et privées : noms de tables insensibles à la casse, index de recherche plein texte, filtres _through, API de clés étrangères, échappement SQL et HTML, en-têtes de cache. Les mainteneurs ont trouvé l'essentiel par un audit mené avec trois modèles de frontière.

2 min de lectureintermédiairevidéo 1:20
Partager
Sommaire4 sections
  1. Ce qui se passe
  2. Ce qui est corrigé
  3. Comment ils les ont trouvés
  4. À retenir

Ce qui se passe

Datasette publie ce 11 septembre deux versions correctives : 0.65.4 pour la branche stable et 1.0a39 pour la série alpha. Les deux regroupent des correctifs de sécurité sur les permissions, la construction du SQL et le cache. Simon Willison est direct : si l'instance est exposée sur Internet et protège des données privées derrière un plugin d'authentification, il faut mettre à jour maintenant. Datasette Cloud est déjà corrigé.

Ce qui est corrigé

La plupart des trous ont le même profil : un chemin qui contournait la permission view-table sur une instance mêlant tables publiques et privées.

Sur 1.0a39, db.execute_write() reçoit en plus une limite d'exécution par défaut de 2 000 ms, indépendante de sql_time_limit_ms.

Comment ils les ont trouvés

Après des rapports assistés par IA de Sevban Dönmez, Simon Willison et Alex Garcia ont mené un audit complet avec trois modèles de frontière, puis se sont partagé chaque problème : l'un écrit le test automatisé qui le démontre, l'autre implémente le correctif, pour que deux humains aient relu chaque cas. Certains de ces tests restent hors du dépôt public le temps que les instances se mettent à jour.

À retenir

Mettre à jour, et sur toute base qui mélange tables publiques et privées, s'assurer que la permission execute-sql reste désactivée.

Source : Datasette 1.0a39 and 0.65.4 security releases