# Failles de sécurité dans CEL, containerd et Docker

_Publié le 6 novembre 2026 — https://ip73.fr/2026/11/06/failles-de-securite-dans-cel-containerd-et-docker/_

GitHub a rendu publique une vulnérabilité dans son moteur CEL (Common Expression Language), où des champs marqués `json:"-"` ne sont pas ignorés comme prévu lors du parsing de structures Go.

Selon l'annonce de github.com, la fonction `ext.NativeTypes(ParseStructTag("json"))` ne respecte pas la directive `json:"-"`. En réalité, les champs destinés à être omis dans la sérialisation JSON sont enregistrés dans le système de types CEL sous le nom littéral "-". Cela signifie qu'un utilisateur peut récupérer ces données cachées via une expression telle que `dyn(obj)[""]`.

Le problème s'aggrave car la construction des types natifs enregistre silencieusement toute structure imbriquée accessible depuis le type fourni, y compris des dépendances tierces que le développeur n'avait pas examinées. Cela soulève une question fondamentale sur la profondeur de la confiance accordée aux structures de données externes ; comment s'assurer qu'un outil de validation d'expressions ne révèle pas des données intentionnellement masquées par le code source ?

## Risques dans l'écosystème des conteneurs

En parallèle de cette faille logicielle, le monde des conteneurs est secoué par des problèmes de permission. Des vulnérabilités dans `containerd`, un runtime essentiel, ont été signalées. Le rapport GHSA-pwhc-rpq9-4c8w indique que des répertoires critiques, tels que `/var/lib/containerd`, sont créés avec des droits trop larges (0o711 au lieu de 0o700). Cela permet à des utilisateurs locaux sur l'hôte d'accéder potentiellement au magasin de métadonnées ou au magasin de contenu.

Ces failles sont aggravées par des problèmes de permission observés ailleurs. Par exemple, les données NVD montrent que la CVE-2024-25621 affecte des versions antérieures de `containerd` en permettant une élévation de privilèges locaux. Les correctifs sont disponibles, notamment dans les versions 1.7.29, 2.0.7, 2.1.5 et 2.2.0, selon les informations techniques.

## Vigilance sur les API et les moteurs de conteneurs

La vigilance ne se limite pas aux permissions sur le système de fichiers. D'autres composantes critiques présentent des failles. Dans le cas de Docker, une régression dans la gestion des plugins d'autorisation (AuthZ) a été identifiée, menant à une vulnérabilité critique (CVSS 9,9) si un attaquant peut manipuler une requête API avec une longueur zéro.

De plus, pour les utilisateurs de Docker sous Windows, la recherche non contrôlée de chemins de plugins peut permettre une élévation de privilèges locaux. Ces incidents rappellent que la sécurité ne se résume pas à une mise à jour unique ; elle exige une cartographie complète des dépendances et de leurs comportements par défaut.

Pour ceux qui utilisent des systèmes de microservices, le contexte des mises à jour est également important. Par exemple, Apigee Edge for Private Cloud 4.54.00 migre ses composants vers Java 21 LTS, ce qui impose des contraintes. Des fonctionnalités existantes, comme l'installation sur GDC air-gapped ou l'intégration avec des HSM spécifiques, ne sont plus supportées, nécessitant une planification minutieuse avant toute migration.

## Fiche technique

| CVE | Produit | Gravité | Exploitée activement | Versions corrigées |
|---|---|---|---|---|
| CVE-2024-25621 | github.com/containerd/containerd (go), github.com/containerd/containerd/v2 (go) | Élevée (CVSS 7,3) | Non signalée | github.com/containerd/containerd 1.7.29, github.com/containerd/containerd/v2 2.0.7, github.com/containerd/containerd/v2 |
| CVE-2024-41110 | github.com/docker/docker (go), github.com/docker/docker (go) | Critique (CVSS 9,9) | Non signalée | github.com/docker/docker 25.0.6, github.com/docker/docker 23.0.15, github.com/docker/docker 26.1.5, github.com/docker/do |
| CVE-2025-15558 | github.com/docker/cli (go) | Élevée (CVSS 7,0) | Non signalée | github.com/docker/cli 29.2.0 |

*Données : [NVD](https://nvd.nist.gov/) (NIST) et [GitHub Advisory Database](https://github.com/advisories) ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.fr), données adaptées).*

## Sources

- [GHSA-gcjh-h69q-9w9g - GitHub Advisory Database](https://github.com/advisories/GHSA-gcjh-h69q-9w9g), github.com
- [Changes in Edge for Private Cloud 4.54.00 \| Edge for Private Cloud v4.54.00 \| Apigee Docs](https://docs.apigee.com/private-cloud/v4.54.00/changes-privatecloud-45400), docs.apigee.com
- [November 06, 2026](https://docs.cloud.google.com/release-notes#November_06_2026), Google Cloud, 6 novembre 2026
- [Avis de sécurité (github.com)](https://github.com/containerd/containerd/security/advisories/GHSA-pwhc-rpq9-4c8w), github.com, 6 novembre 2025
- [GHSA-pwhc-rpq9-4c8w](https://github.com/advisories/GHSA-pwhc-rpq9-4c8w) : containerd affected by a local privilege escalation via wide permissions on CRI directory, GitHub Advisory Database (CC BY 4.0)
- [CVE-2024-25621](https://nvd.nist.gov/vuln/detail/CVE-2024-25621), NVD (NIST)
- [GHSA-v23v-6jw2-98fq](https://github.com/advisories/GHSA-v23v-6jw2-98fq) : Authz zero length regression, GitHub Advisory Database (CC BY 4.0)
- [CVE-2024-41110](https://nvd.nist.gov/vuln/detail/CVE-2024-41110), NVD (NIST)
- [GHSA-p436-gjf2-799p](https://github.com/advisories/GHSA-p436-gjf2-799p) : Docker CLI Plugins: Uncontrolled Search Path Element Leads to Local Privilege Escalation…, GitHub Advisory Database (CC BY 4.0)
- [CVE-2025-15558](https://nvd.nist.gov/vuln/detail/CVE-2025-15558), NVD (NIST)
