Anar al contengut principal
WebguneWebgunebeta
Tarifs
Toutes les failles

ÉlevéeCVE-2026-1094132026 d’octòbre 27

Symfony : Une récursion non bornée dans le Lexer Inline YAML permet à un seul document de faire planter le processus

Conséquences sérieuses, souvent sous quelques conditions : à corriger rapidement.

Sévérité
Élevée8.7 / 10
Publiée le
2026 d’octòbre 27
Mise à jour
2026 d’octòbre 27

L'avis

Traduction automatique de l'avis officiel. En cas de doute, l'avis d'origine, plus bas, fait foi.

Description

Yaml\Parser::lexInlineStructure() récursait à travers lexInlineMapping() et lexInlineSequence() pour chaque { et [ d'une collection inline, sans entrer dans le niveau d'imbrication que le reste du parser limite avec maxNestingLevel. Un document composé de collections inline profondément imbriquées, tel que [[[[...]]]], a épuisé la pile lors de son analyse : selon la version PHP et ses paramètres de pile, le processus a crashé ou la demande s'est terminée avec une erreur fatale.

Tout code analysant un YAML non fiable est affecté. Cela inclut #[MapRequestPayload] lorsque le composant Yaml est installé et que l'endpoint ne restreint pas acceptFormat : une seule demande non authentifiée avec un type de contenu YAML suffit.

Resolution

Le lexer inline entre et quitte maintenant le même niveau d'imbrication que le reste du parser, de sorte que les collections inline imbriquées sont bornées par maxNestingLevel, et le parser lève une ParseException au-delà de ce niveau.

Les correctifs pour ce problème sont disponibles here (fenèstra novèla) pour la branche 5.4 (et portés vers 6.4, 7.4, 8.1 et 8.2).

Credits

Nous aimerions remercier Nicolas Grekas pour avoir signalé le problème et fourni le correctif.

References
  • Correctif : #65688 (fenèstra novèla)

Composants touchés

ComposantVersions touchéesCorrigé en
symfony/symfonyPHP (Composer)>= 2.0.0, < 5.4.545.4.54
symfony/symfonyPHP (Composer)>= 6.0.0, < 6.4.456.4.45
symfony/symfonyPHP (Composer)>= 7.0.0, < 7.4.187.4.18
symfony/symfonyPHP (Composer)>= 8.0.0, < 8.1.68.1.6
symfony/yamlPHP (Composer)>= 2.0.0, < 5.4.545.4.54
symfony/yamlPHP (Composer)>= 6.0.0, < 6.4.456.4.45
symfony/yamlPHP (Composer)>= 7.0.0, < 7.4.187.4.18
symfony/yamlPHP (Composer)>= 8.0.0, < 8.1.68.1.6

Vous utilisez une version touchée ? Passez à la version corrigée, puis redéployez.

Symfony: Unbounded Recursion in the YAML Inline Lexer Lets a Single Document Crash the Process

Description

Yaml\Parser::lexInlineStructure() recursed through lexInlineMapping() and lexInlineSequence() for every { and [ of an inline collection, without entering the nesting level that the rest of the parser bounds with maxNestingLevel. A document made of deeply nested inline collections, such as [[[[...]]]], exhausted the stack while it was being lexed: depending on the PHP version and its stack settings, the process crashed or the request ended with a fatal error.

Any code parsing untrusted YAML is affected. That includes #[MapRequestPayload] when the Yaml component is installed and the endpoint does not restrict acceptFormat: a single unauthenticated request with a YAML content type is enough.

Resolution

The inline lexer now enters and leaves the same nesting level as the rest of the parser, so nested inline collections are bounded by maxNestingLevel, and the parser raises a ParseException beyond it.

The patches for this issue are available here (fenèstra novèla) for branch 5.4 (and forward-ported to 6.4, 7.4, 8.1 and 8.2).

Credits

We would like to thank Nicolas Grekas for reporting the issue and providing the fix.

References
  • Fix: #65688 (fenèstra novèla)

Catégorie : Uncontrolled Recursion (CWE-674)

Vecteur CVSS : CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

  • github.comhttps://github.com/symfony/symfony/security/advisories/GHSA-2v3c-qxhr-7vpv
  • nvd.nist.govhttps://nvd.nist.gov/vuln/detail/CVE-2026-109413
  • github.comhttps://github.com/symfony/symfony/pull/65688
  • github.comhttps://github.com/symfony/symfony/commit/116287c3b5bc057e7a0420d2e52d384e14ea9417
  • github.comhttps://github.com/symfony/symfony/commit/2a8bf9c58d862b0c76a35ce288d1ba6a27223aad
  • github.comhttps://github.com/symfony/symfony/commit/8fb436fed9658a79d220e9f2b1ba8a2095559018
  • github.comhttps://github.com/symfony/symfony/commit/ab61e6cfd35042f16840a00f485eab2481dd4c2a
  • github.comhttps://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2026-109413.yaml
  • github.comhttps://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/yaml/CVE-2026-109413.yaml
  • github.comhttps://github.com/symfony/symfony/releases/tag/v5.4.54
  • github.comhttps://github.com/symfony/symfony/releases/tag/v6.4.45
  • github.comhttps://github.com/symfony/symfony/releases/tag/v7.4.18
  • github.comhttps://github.com/symfony/symfony/releases/tag/v8.1.6
  • symfony.comhttps://symfony.com/blog/cve-2026-109413-unbounded-recursion-in-the-yaml-inline-lexer-lets-a-single-document-crash-the-process
  • symfony.comhttps://symfony.com/cve-2026-109413
WebguneWebgune

Lo nívol sobeiran tot-en-un, concebut e albergat en França.

DiscordDiscordGitHubGitHub
+33 (0)9 72 23 25 00support@webgune.cloud

Produit

  • Foncionalitats
  • Tarifs
  • Comparatiu
  • Changelog
  • Status
  • Falhas (CVE)
  • Contacte

Desvolopaires

  • Documentacion
  • Frameworks
  • API Reference
  • Exemples
  • CLI
  • Espleches & VS Code

Legal

  • CGV
  • Politica de confidencialitat
  • Mencions legalas
  • Accessibilitat
  • RGPD
  • DPA
  • Politica d'utilizacion acceptabla

© 2026 KX712. Totes los dreches reservats. Webgune es un servici de KX712.

Pagaments :VisaMasterCardAmerican ExpressApple PayGoogle PaySEPABancontact