Le mardi 24 mars 2026, Linear a déployé une modification de code qui a exposé des données d'équipes privées à d'autres membres du même espace de travail. Pendant environ une heure, de 12h07 à 1h10 UTC, les membres de l'espace de travail, y compris les utilisateurs invités, ont pu accéder à des données hors de leurs autorisations d'équipe habituelles.
La couche d'autorisation de Linear utilise des résolveurs de « groupe de synchronisation » pour ajouter des filtres d'autorisation à chaque requête. Une optimisation de performance avait été conçue pour ignorer les résolveurs qui ne pourraient jamais correspondre à un utilisateur, et était limitée à un seul espace de travail interne. Mais le chemin de code qui désactivait l'optimisation ailleurs comportait un bug d'ombrage de variable : au lieu de revenir aux filtres d'origine, il supprimait tous les résolveurs spécifiques à l'utilisateur, de sorte que la vérification d'autorisation en aval était entièrement contournée et que les requêtes renvoyaient silencieusement des résultats non filtrés.
La modification avait été relue par des pairs et testée, mais seul le chemin où l'optimisation était active était couvert ; personne n'avait testé le chemin où elle était désactivée pour les autres espaces de travail. L'équipe de Linear a précisé que le bug n'avait pas été écrit par une IA — il s'agissait d'une régression humaine d'ombrage de variable qui a révélé une lacune dans la couverture des tests.
L'exposition s'est propagée via les résumés de notifications (un membre pouvait recevoir un résumé pour l'ensemble de l'espace de travail), les amorçages de synchronisation des clients, les sessions mobiles et de larges requêtes OAuth/API. Aucun identifiant ni clé d'API n'a fuité, et aucun élément n'indiquait un usage malveillant. Linear a annulé la modification en moins d'une heure, a forcé le rechargement des clients web et de bureau, a déconnecté les sessions mobiles actives et a informé les contacts des espaces de travail concernés dans les 48 heures.
Pendant environ 1 heure le 24 mars 2026, des données d'équipes privées ont été accessibles à d'autres membres et invités du même espace de travail ; environ 7 000 synchronisations et appels API ont pu les récupérer.
Le chemin désactivé de l'optimisation comportait un bug d'ombrage de variable qui ommettait tous les résolveurs spécifiques à l'utilisateur.
La couverture des tests validait l'optimisation lorsqu'elle était active, mais pas le chemin où elle était désactivée.
Les vérifications d'autorisation échouaient en mode ouvert : la requête renvoyait des résultats au lieu de lever une erreur.
Les couches de notification, de synchronisation, mobile et API faisaient toutes confiance à la couche d'autorisation défaillante.
La leçon
Une « optimisation » de contrôle d'accès qui contourne un filtre n'est sûre que si son chemin désactivé est testé, faute de quoi une revue du chemin nominal valide un élargissement silencieux des autorisations.
Suites
Linear a étendu les tests d'intégration à travers les environnements de déploiement, les types d'équipes, les rôles, l'accès invité et les méthodes d'authentification, a plafonné le nombre d'éléments de notification par résumé, et s'est engagé à renforcer les revues de sécurité avant déploiement ainsi que la surveillance des anomalies d'autorisation. L'entreprise a informé les propriétaires des espaces de travail concernés et, pour ceux qui le demandaient, a fourni des résumés d'exposition par espace de travail. Les utilisateurs ont relaté l'incident comme un incident de sécurité rare, géré avec transparence, par une entreprise qui venait de franchir les 100 M$ d'ARR.
VÉRIFIEZ LES SOURCES
Les sources
- Post mortem on Linear security incident on March 24th, 2026 Linear · linear.app ·
- User-specific data accessible to the wrong users within the same workspace Linear Status · linearstatus.com ·
- Linear discloses a data exposure incident Devbytes · devbytes.co.in ·