Un bug amusant dans les extensions MV3 de Chrome

2025-07-13

La transition de Google Chrome de MV2 à MV3 a supprimé la permission webRequestBlocking, cassant de nombreux bloqueurs de publicités. Cependant, l'auteur a découvert un bug curieux : en raison de l'utilisation de liaisons JavaScript dans les API d'extension Chrome, la manipulation des paramètres dans le constructeur d'événements `chrome.webRequest` a permis de contourner les vérifications d'autorisation et d'activer le blocage des publicités. Bien que ce bug ne représente pas un risque de sécurité, il a mis en évidence des problèmes potentiels cachés dans le code hérité et la possibilité d'obtenir des résultats inattendus en exploitant intelligemment des détails techniques. L'auteur a signalé le bug à Google, et il a depuis été corrigé.

Lire plus
Développement

Vulnérabilité critique de ChromeOS : Compromission total du système via les extensions Chrome

2025-05-28

Un chercheur en sécurité a découvert une vulnérabilité critique dans le gestionnaire de fichiers de ChromeOS qui permet aux extensions Chrome malveillantes de prendre le contrôle total du système. En exploitant une URL filesystem:chrome://file-manager, la vulnérabilité permet de lire et d'écrire des fichiers utilisateur et d'exécuter du code arbitraire. La faille exploite les API JavaScript obsolètes de ChromeOS et les configurations incorrectes des autorisations des pages chrome://. L'attaquant peut compromettre totalement le système, accéder aux données de l'utilisateur, modifier les paramètres du système et même exécuter du code malveillant via Crostini. Bien que corrigée, la vulnérabilité souligne le risque des choix de conception à long terme dans les systèmes vastes et complexes tels que Chrome/ChromeOS.

Lire plus

Au-delà de Zig et Rust : une approche plus conviviale de la métaprogrammation

2025-05-26

Cet article explore une nouvelle conception de langage de programmation qui combine les points forts du système de types Hindley-Milner de Rust et les capacités de compilation de Zig, tout en évitant les complexités de l'approche « types comme valeurs » de Zig. En introduisant l'opérateur `@` pour l'exécution au moment de la compilation, le type `Abstract` pour les abstractions au moment de la compilation, les types `TypeInfo` et `Field` pour l'introspection des types et les fonctions `Code` et `parse` pour la manipulation du code, cette conception permet d'obtenir de puissantes capacités de métaprogrammation, telles que la génération automatique de code et la mise en œuvre de types utilitaires similaires à TypeScript, tels que `Partial`, tout en maintenant la lisibilité du code et la facilité de raisonnement. Cela représente une nouvelle approche pour obtenir une métaprogrammation puissante tout en préservant la convivialité du système de types, offrant de nouvelles perspectives pour la conception de langages futurs.

Lire plus