Skip to content

[Renovate] Update dependency symfony/yaml to v8 - #22

Open
appsec-renovate-bot[bot] wants to merge 1 commit into
masterfrom
renovate/symfony-yaml-8.x
Open

[Renovate] Update dependency symfony/yaml to v8#22
appsec-renovate-bot[bot] wants to merge 1 commit into
masterfrom
renovate/symfony-yaml-8.x

Conversation

@appsec-renovate-bot

@appsec-renovate-bot appsec-renovate-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Type Update Change
symfony/yaml (source) require major ~3.0|~4.08.1.5

Symfony hardened the parser when handling untrusted input

CVE-2026-45133 / GHSA-c2p3-7m5p-cv8x

More information

Details

Description

Symfony\Component\Yaml\Parser is the entry point for parsing YAML strings into PHP values via Yaml::parse(). When the parser is exposed to attacker-controlled input, deeply nested mappings or sequences cause both the block-level (Parser::parseBlock()) and inline (Inline::parseSequence() / Inline::parseMapping()) parsers to recurse without a depth limit. A crafted document exhausts the PHP stack and crashes the worker.

Resolution

The Parser now tracks recursion depth in a shared ParserState object across both block-level and inline parsing, with a default limit of 128. The limit is configurable via a new $maxNestingLevel argument on Parser::__construct(), Yaml::parse() and Yaml::parseFile().

The patch for this issue is available here for branch 5.4.

Credits

Symfony would like to thank Pietro Tirenna (Shielder) for reporting the issue and Nicolas Grekas for fixing it.

Severity

  • CVSS Score: 2.7 / 10 (Low)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Symfony's YAML Parser has a ReDoS via Catastrophic Backtracking in Parser::cleanup() Regex

CVE-2026-45305 / GHSA-9frc-8383-795m

More information

Details

Description

Symfony\Component\Yaml\Parser::cleanup() strips the optional %YAML directive header, leading comments, and document start/end markers before parsing. The original regexes contained overlapping quantifiers, most notably '#^%YAML[: ][\d.]+.*\n#u', whose [\d.]+ and .* overlap on the dot, that exhibit catastrophic backtracking on crafted input. A single oversized %YAML directive header (or comment / document-marker line) makes the parser hang for an arbitrarily long time, denying service.

Resolution

The four regexes in Parser::cleanup() (YAML directive header, leading comments, document-start marker, document-end marker) have been rewritten with possessive quantifiers and unambiguous character classes so backtracking cannot occur.

The patch for this issue is available here for branch 5.4.

Credits

Symfony would like to thank Pietro Tirenna (Shielder) for reporting the issue and Nicolas Grekas for fixing it.

Severity

  • CVSS Score: 2.7 / 10 (Low)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Symfony's YAML Parser Vulnerable to Exponential Memory Allocation via Recursive Collection-Alias Expansion ("Billion Laughs")

CVE-2026-45304 / GHSA-4qpc-3hr4-r2p4

More information

Details

Description

Symfony\Component\Yaml\Parser resolves YAML aliases (*anchor) during parsing. Aliases that reference collections (arrays, stdClass, TaggedValue-wrapped collections) can themselves point to other collections containing aliases, creating exponential expansion at resolution time. A small input can blow up into a multi-gigabyte structure and exhaust memory: the classic "Billion Laughs" denial-of-service against any parser exposed to untrusted YAML.

Resolution

The Parser now counts collection alias resolutions in a shared ParserState object, with a default limit of 128, following the SnakeYAML model. Scalar aliases remain unrestricted since they cannot drive exponential growth. The limit is configurable via a new $maxAliasesForCollections argument on Parser::__construct(), Yaml::parse() and Yaml::parseFile(). A new Yaml::PARSE_EXCEPTION_ON_ALIAS flag also rejects all aliases outright when parsing fully untrusted input.

The patch for this issue is available here for branch 5.4.

Credits

Symfony would like to thank Pietro Tirenna (Shielder) for reporting the issue and Nicolas Grekas for fixing it.

Severity

  • CVSS Score: 2.7 / 10 (Low)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

symfony/yaml (symfony/yaml)

v8.1.5

Compare Source

Changelog (symfony/yaml@v8.1.2...v8.1.5)

v8.1.2

Compare Source

Changelog (symfony/yaml@v8.1.1...v8.1.2)

v8.1.1

Compare Source

Changelog (symfony/yaml@v8.1.0...v8.1.1)

v8.1.0

Compare Source

Changelog (symfony/yaml@v8.1.0-RC1...v8.1.0)

v8.0.15

Compare Source

Changelog (symfony/yaml@v8.0.14...v8.0.15)

v8.0.14

Compare Source

Changelog (symfony/yaml@v8.0.13...v8.0.14)

v8.0.13

Compare Source

Changelog (symfony/yaml@v8.0.12...v8.0.13)

v8.0.12

Compare Source

Changelog (symfony/yaml@v8.0.11...v8.0.12)

v8.0.11

Compare Source

Changelog (symfony/yaml@v8.0.10...v8.0.11)

v8.0.10

Compare Source

Changelog (symfony/yaml@v8.0.6...v8.0.10)

v8.0.8

Compare Source

Changelog (symfony/yaml@v8.0.7...v8.0.8)

  • no significant changes

v8.0.6

Compare Source

Changelog (symfony/yaml@v8.0.5...v8.0.6)

v8.0.1

Compare Source

Changelog (symfony/yaml@v8.0.0...v8.0.1)

v8.0.0

Compare Source

v7.4.17

Compare Source

Changelog (symfony/yaml@v7.4.15...v7.4.17)

v7.4.15

Compare Source

Changelog (symfony/yaml@v7.4.14...v7.4.15)

v7.4.14

Compare Source

Changelog (symfony/yaml@v7.4.13...v7.4.14)

v7.4.13

Compare Source

Changelog (symfony/yaml@v7.4.12...v7.4.13)

v7.4.12

Compare Source

Changelog (symfony/yaml@v7.4.11...v7.4.12)

v7.4.11

Compare Source

Changelog (symfony/yaml@v7.4.10...v7.4.11)

v7.4.10

Compare Source

Changelog (symfony/yaml@v7.4.6...v7.4.10)

v7.4.8

Compare Source

Changelog (symfony/yaml@v7.4.7...v7.4.8)

  • no significant changes

v7.4.6

Compare Source

Changelog (symfony/yaml@v7.4.5...v7.4.6)

v7.4.1

Compare Source

Changelog (symfony/yaml@v7.4.0...v7.4.1)

v7.4.0

Compare Source

Changelog (symfony/yaml@v7.4.0-RC3...v7.4.0)

  • no significant changes

v7.3.8

Compare Source

Changelog (symfony/yaml@v7.3.7...v7.3.8)

v7.3.5

Compare Source

Changelog (symfony/yaml@v7.3.4...v7.3.5)

v7.3.3

Compare Source

Changelog (symfony/yaml@v7.3.2...v7.3.3)

v7.3.2

Compare Source

Changelog (symfony/yaml@v7.3.1...v7.3.2)

  • no significant changes

v7.3.1

Compare Source

Changelog (symfony/yaml@v7.3.0...v7.3.1)

v7.3.0

Compare Source

Changelog (symfony/yaml@v7.3.0-RC1...v7.3.0)

  • no significant changes

v7.2.9

Compare Source

Changelog (symfony/yaml@v7.2.8...v7.2.9)

  • no significant changes

v7.2.8

Compare Source

Changelog (symfony/yaml@v7.2.7...v7.2.8)

v7.2.6

Compare Source

Changelog (symfony/yaml@v7.2.5...v7.2.6)

  • no significant changes

v7.2.5

Compare Source

Changelog (symfony/yaml@v7.2.4...v7.2.5)

v7.2.3

Compare Source

Changelog (symfony/yaml@v7.2.2...v7.2.3)

v7.2.0

Compare Source

Changelog (symfony/yaml@v7.2.0-RC1...v7.2.0)

  • no significant changes

v7.1.11

Compare Source

Changelog (symfony/yaml@v7.1.10...v7.1.11)

v7.1.6

Compare Source

Changelog (symfony/yaml@v7.1.5...v7.1.6)

  • no significant changes

v7.1.5

Compare Source

Changelog (symfony/yaml@v7.1.4...v7.1.5)

v7.1.4

Compare Source

Changelog (symfony/yaml@v7.1.3...v7.1.4)

v7.1.1

Compare Source

Changelog (symfony/yaml@v7.1.0...v7.1.1)

  • no significant changes

v7.1.0

Compare Source

Changelog (symfony/yaml@v7.1.0-RC1...v7.1.0)

  • no significant changes

v7.0.8

Compare Source

Changelog (symfony/yaml@v7.0.7...v7.0.8)

  • no significant changes

v7.0.7

Compare Source

Changelog (symfony/yaml@v7.0.6...v7.0.7)

v7.0.3

Compare Source

Changelog (symfony/yaml@v7.0.2...v7.0.3)

  • no significant changes

v7.0.0

Compare Source

Changelog (symfony/yaml@v7.0.0-RC2...v7.0.0)

  • no significant changes

v6.4.44

Compare Source

Changelog (symfony/yaml@v6.4.43...v6.4.44)

v6.4.43

Compare Source

Changelog (symfony/yaml@v6.4.42...v6.4.43)

v6.4.42

Compare Source

Changelog (symfony/yaml@v6.4.41...v6.4.42)

v6.4.41

Compare Source

Changelog (symfony/yaml@v6.4.40...v6.4.41)

v6.4.40

Compare Source

Changelog (symfony/yaml@v6.4.39...v6.4.40)

v6.4.39

Compare Source

Changelog (symfony/yaml@v6.4.38...v6.4.39)

v6.4.38

Compare Source

Changelog (symfony/yaml@v6.4.34...v6.4.38)

v6.4.34

Compare Source

Changelog (symfony/yaml@v6.4.33...v6.4.34)

v6.4.30

Compare Source

Changelog (symfony/yaml@v6.4.29...v6.4.30)

v6.4.26

Compare Source

Changelog (symfony/yaml@v6.4.25...v6.4.26)

v6.4.25

Compare Source

Changelog (symfony/yaml@v6.4.24...v6.4.25)

v6.4.24

Compare Source

Changelog (symfony/yaml@v6.4.23...v6.4.24)

  • no significant changes

v6.4.23

Compare Source

Changelog (symfony/yaml@v6.4.22...v6.4.23)

v6.4.21

Compare Source

Changelog (symfony/yaml@v6.4.20...v6.4.21)

  • no significant changes

v6.4.20

Compare Source

Changelog (symfony/yaml@v6.4.19...v6.4.20)

v6.4.18

Compare Source

Changelog (symfony/yaml@v6.4.17...v6.4.18)

v6.4.13

Compare Source

Changelog (symfony/yaml@v6.4.12...v6.4.13)

  • no significant changes

v6.4.12

Compare Source

Changelog (symfony/yaml@v6.4.11...v6.4.12)

v6.4.11

Compare Source

Changelog (symfony/yaml@v6.4.10...v6.4.11)

v6.4.8

Compare Source

Changelog (symfony/yaml@v6.4.7...v6.4.8)

  • no significant changes

v6.4.7

Compare Source

Changelog (symfony/yaml@v6.4.6...v6.4.7)

v6.4.3

Compare Source

Changelog (symfony/yaml@v6.4.2...v6.4.3)

  • no significant changes

v6.4.0

Compare Source

Changelog (symfony/yaml@v6.4.0-RC2...v6.4.0)

  • no significant changes

v6.3.12

Compare Source

Changelog (symfony/yaml@v6.3.11...v6.3.12)

  • no significant changes

v6.3.8

Compare Source

Changelog (symfony/yaml@v6.3.7...v6.3.8)

v6.3.7

Compare Source

Changelog (symfony/yaml@v6.3.6...v6.3.7)

v6.3.3

Compare Source

Changelog (symfony/yaml@v6.3.2...v6.3.3)

  • no significant changes

v6.3.0

Compare Source

Changelog (symfony/yaml@v6.3.0-RC2...v6.3.0)

  • no significant changes

v6.2.10

Compare Source

Changelog (symfony/yaml@v6.2.9...v6.2.10)

v6.2.7

Compare Source

Changelog (symfony/yaml@v6.2.6...v6.2.7)

  • no significant changes

v6.2.5

Compare Source

Changelog (symfony/yaml@v6.2.4...v6.2.5)

  • no significant changes

v6.2.2

Compare Source

Changelog (symfony/yaml@v6.2.1...v6.2.2)

  • bug #​48331 fix dumping top-level tagged values (xabbuh)

v6.2.0

Compare Source

Changelog (symfony/yaml@v6.2.0-RC2...v6.2.0)

  • no significant changes

v6.1.11

Compare Source

v6.1.9

Compare Source

Changelog (symfony/yaml@v6.1.8...v6.1.9)

  • bug #​48331 fix dumping top-level tagged values (xabbuh)

v6.1.8

Compare Source

Changelog (symfony/yaml@v6.1.7...v6.1.8)

  • bug #​48333 parse unquoted digits in tag values as integers (xabbuh)

v6.1.6

Compare Source

Changelog (symfony/yaml@v6.1.5...v6.1.6)

  • no significant changes

v6.1.4

Compare Source

Changelog (symfony/yaml@v6.1.3...v6.1.4)

  • no significant changes

v6.1.3

Compare Source

Changelog (symfony/yaml@v6.1.2...v6.1.3)

  • no significant changes

v6.1.2

Compare Source

Changelog (symfony/yaml@v6.1.1...v6.1.2)

  • no significant changes

v6.1.0

Compare Source

Changelog (symfony/yaml@v6.1.0-RC1...v6.1.0)

  • no significant changes

v6.0.19

Compare Source

Changelog (symfony/yaml@v6.0.18...v6.0.19)

  • no significant changes

v6.0.17

Compare Source

Changelog (symfony/yaml@v6.0.16...v6.0.17)

  • bug #​48331 fix dumping top-level tagged values (xabbuh)

v6.0.16

Compare Source

Changelog (symfony/yaml@v6.0.15...v6.0.16)

  • bug #​48333 parse unquoted digits in tag values as integers (xabbuh)

v6.0.14

Compare Source

Changelog (symfony/yaml@v6.0.13...v6.0.14)

  • no significant changes

v6.0.12

Compare Source

Changelog (symfony/yaml@v6.0.11...v6.0.12)

  • no significant changes

v6.0.11

Compare Source

Changelog (symfony/yaml@v6.0.10...v6.0.11)

  • no significant changes

v6.0.10

Compare Source

Changelog (symfony/yaml@v6.0.9...v6.0.10)

  • no significant changes

v6.0.3

Compare Source

Changelog (symfony/yaml@v6.0.2...v6.0.3)

  • bug #​45140 Making the parser stateless (mamazu)

v6.0.2

Compare Source

Changelog (symfony/yaml@v6.0.1...v6.0.2)

  • no significant changes

v6.0.1

Compare Source

Changelog (symfony/yaml@v6.0.0...v6.0.1)

  • bug #​44494 Remove FQCN type hints on properties (fabpot)

v6.0.0

Compare Source

Changelog (symfony/yaml@v6.0.0-RC1...v6.0.0)

  • no significant changes

v5.4.53

Compare Source

Changelog (symfony/yaml@v5.4.52...v5.4.53)

v5.4.52

Compare Source

Changelog (symfony/yaml@v5.4.44...v5.4.52)

v5.4.45

Compare Source

Changelog (symfony/yaml@v5.4.44...v5.4.45)

  • no significant changes

v5.4.44

Compare Source

Changelog (symfony/yaml@v5.4.43...v5.4.44)

v5.4.43

Compare Source

Changelog (symfony/yaml@v5.4.42...v5.4.43)

v5.4.40

Compare Source

Changelog (symfony/yaml@v5.4.39...v5.4.40)

  • no significant changes

v5.4.39

Compare Source

Changelog (symfony/yaml@v5.4.38...v5.4.39)

v5.4.35

Compare Source

Changelog (symfony/yaml@v5.4.34...v5.4.35)

  • no significant changes

v5.4.31

Compare Source

Changelog (symfony/yaml@v5.4.30...v5.4.31)

v5.4.30

Compare Source

Changelog (symfony/yaml@v5.4.29...v5.4.30)

  • no significant changes

v5.4.23

Compare Source

Changelog (symfony/yaml@v5.4.22...v5.4.23)

  • bug #​50066 Trim leading newlines when checking if value begins with a space (bradtreloar)

v5.4.21

[Compare Source](https://redirect.github.com/symfony/yaml/compar

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@appsec-renovate-bot appsec-renovate-bot Bot changed the title [Renovate] Update dependency symfony/yaml to v8 [Renovate] Update dependency symfony/yaml to v8 - autoclosed Aug 18, 2026
@appsec-renovate-bot
appsec-renovate-bot Bot deleted the renovate/symfony-yaml-8.x branch August 18, 2026 06:13
@appsec-renovate-bot appsec-renovate-bot Bot changed the title [Renovate] Update dependency symfony/yaml to v8 - autoclosed [Renovate] Update dependency symfony/yaml to v8 Aug 19, 2026
@appsec-renovate-bot appsec-renovate-bot Bot reopened this Aug 19, 2026
@appsec-renovate-bot
appsec-renovate-bot Bot force-pushed the renovate/symfony-yaml-8.x branch 2 times, most recently from 5e7fa89 to 25117a5 Compare August 19, 2026 06:21
@appsec-renovate-bot appsec-renovate-bot Bot changed the title [Renovate] Update dependency symfony/yaml to v8 [Renovate] Update dependency symfony/yaml to v8 - autoclosed Aug 20, 2026
@appsec-renovate-bot appsec-renovate-bot Bot changed the title [Renovate] Update dependency symfony/yaml to v8 - autoclosed [Renovate] Update dependency symfony/yaml to v8 Aug 21, 2026
@appsec-renovate-bot appsec-renovate-bot Bot reopened this Aug 21, 2026
@appsec-renovate-bot
appsec-renovate-bot Bot force-pushed the renovate/symfony-yaml-8.x branch 3 times, most recently from 1ddb607 to d497f01 Compare August 23, 2026 06:14
@appsec-renovate-bot appsec-renovate-bot Bot changed the title [Renovate] Update dependency symfony/yaml to v8 [Renovate] Update dependency symfony/yaml to v8 - autoclosed Aug 24, 2026
@appsec-renovate-bot appsec-renovate-bot Bot changed the title [Renovate] Update dependency symfony/yaml to v8 - autoclosed [Renovate] Update dependency symfony/yaml to v8 Aug 25, 2026
@appsec-renovate-bot appsec-renovate-bot Bot reopened this Aug 25, 2026
@appsec-renovate-bot
appsec-renovate-bot Bot force-pushed the renovate/symfony-yaml-8.x branch 2 times, most recently from d497f01 to a9ddf1c Compare August 25, 2026 06:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants