Joan eduki nagusira
WebguneWebgunebeta
Tarifak
Toutes les failles

ÉlevéeCVE-2026-1094132026(e)ko urriaren 27(a)

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(e)ko urriaren 27(a)
Mise à jour
2026(e)ko urriaren 27(a)

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 (leiho berria) 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 (leiho berria)

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 (leiho berria) 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 (leiho berria)

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

Hodei burujabe osoa, Frantzian diseinatua eta ostatatua.

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

Produktua

  • Ezaugarriak
  • Tarifak
  • Konparaketa
  • Changelog
  • Egoera
  • Ahuleziak (CVE)
  • Harremanetarako

Garatzaileak

  • Dokumentazioa
  • Frameworkak
  • API erreferentzia
  • Adibideak
  • CLI
  • Tresnak & VS Code

Legala

  • Erabilera baldintzak
  • Pribatutasun politika
  • Ohar legalak
  • Irisgarritasuna
  • RGPD
  • DPA
  • Erabilera onargarriaren politika

© 2026 KX712. Eskubide guztiak erreserbatuta. Webgune KX712-ren zerbitzu bat da.

Ordainketak:VisaMasterCardAmerican ExpressApple PayGoogle PaySEPABancontact