Skip to content

Update dependency symfony/runtime to 7.4.* [SECURITY]#2625

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/services/packagist-symfony-runtime-vulnerability
Open

Update dependency symfony/runtime to 7.4.* [SECURITY]#2625
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/services/packagist-symfony-runtime-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
symfony/runtime (source) 7.3.*7.4.* age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


SymfonyRuntime CVE-2024-50340 Patch Bypass: Web Requests Can Still Set APP_ENV/APP_DEBUG via parse_str/SAPI Argv Mismatch

CVE-2026-47767 / GHSA-fqc7-9xjw-jrh3

More information

Details

Description

CVE-2024-50340 (GHSA-x8vp-gf4q-mw5j) addressed an issue where, with register_argc_argv=On, a crafted query string let an unauthenticated GET change the kernel environment and debug flag by feeding --env/--no-debug through $_SERVER['argv']. The fix shipped in symfony/runtime 5.4.46 / 6.4.14 / 7.1.7 gated the argv read on empty($_GET) as a proxy for "is this a CLI invocation".

That proxy is unsafe: parse_str() (which builds $_GET) and the web SAPI (which builds $_SERVER['argv'] from the raw query when register_argc_argv=On) do not agree on every input, so an attacker can craft a query that leaves $_GET empty while $_SERVER['argv'] carries the attacker's flags. SymfonyRuntime::getInput() then parses them, restoring the exact primitive CVE-2024-50340 was meant to prevent.

Preconditions and impact match the original CVE: web SAPI, register_argc_argv=On, app booted through symfony/runtime; from an unauthenticated GET an attacker can flip APP_ENV and toggle APP_DEBUG.

Resolution

SymfonyRuntime now gates the argv read on isset($_SERVER['QUERY_STRING']) rather than on empty($_GET). QUERY_STRING is the same input the SAPI uses to build argv, so the security check and the thing it protects no longer parse different sources. Worker SAPIs (FrankenPHP / RoadRunner / Swoole) keep working because the runtime constructor runs once at boot when QUERY_STRING is unset.

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

Credits

SymfonyRuntime would like to thank 0xEr3n for reporting the issue and Nicolas Grekas for providing the fix.

Severity

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

References

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


Release Notes

symfony/runtime (symfony/runtime)

v7.4.12

Compare Source

Changelog (symfony/runtime@v7.4.1...v7.4.12)

v7.4.8

Compare Source

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

  • no significant changes

v7.4.1

Compare Source

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

v7.4.0

Compare Source


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 was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from ryanmab as a code owner June 9, 2026 22:07
@renovate renovate Bot added bump-patch Pull request which needs to bump a patch version in this repository. chore Pull requests that resolve chores (for releases) dependencies Pull requests that update a dependency file php Pull requests that update Php code labels Jun 9, 2026
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Terraform plan in ./services/publish/infrastructure in the prod workspace
With var files: ./services/publish/infrastructure/prod.tfvars

Plan: 0 to add, 1 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~  update in-place

Terraform will perform the following actions:

  # module.publish.aws_lambda_function.service will be updated in-place
!~  resource "aws_lambda_function" "service" {
        id                             = "coverage-publish-prod"
!~      last_modified                  = "2026-05-24T10:40:22.000+0000" -> (known after apply)
!~      source_code_hash               = "nPtHlCv5GvI91haJ1WVX0E0hQjIOvJHwe1MTGVLEKBA=" -> "XBUs5eO6EBm8DOYt8sSU2W2HbPmjV6JKFAYHbIqsUpQ="
        tags                           = {}
#        (30 unchanged attributes hidden)

#        (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

📝 Plan generated in Publish #2612

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Terraform plan in ./services/orchestrator/infrastructure in the prod workspace
With var files: ./services/orchestrator/infrastructure/prod.tfvars

Plan: 0 to add, 1 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~  update in-place

Terraform will perform the following actions:

  # module.orchestrator.aws_lambda_function.service will be updated in-place
!~  resource "aws_lambda_function" "service" {
        id                             = "coverage-orchestrator-prod"
!~      last_modified                  = "2026-05-23T00:31:51.000+0000" -> (known after apply)
!~      source_code_hash               = "zTTKyMrJYo6V7l718Sq5ruTaJQw1MKOE1FO0WgB+Pnw=" -> "/oweRZp0eZFcyLt7far+JiREVPF0SuUbwc6pz9TAJnQ="
        tags                           = {}
#        (30 unchanged attributes hidden)

#        (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Warning: Argument is deprecated

  with module.event_store.aws_dynamodb_table.event_table,
  on event_store/main.tf line 1, in resource "aws_dynamodb_table" "event_table":
   1: resource "aws_dynamodb_table" "event_table" {

hash_key is deprecated. Use key_schema instead.

(and one more similar warning elsewhere)

Warning: Deprecated value used

  on event_store/outputs.tf line 2, in output "event_table":
   2:   value = aws_dynamodb_table.event_table

  The deprecation originates from module.event_store.aws_dynamodb_table.event_table.global_secondary_index[...].hash_key

hash_key is deprecated. Use key_schema instead.

(and one more similar warning elsewhere)

📝 Plan generated in Orchestrator #2412

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Terraform plan in ./services/ingest/infrastructure in the prod workspace
With var files: ./services/ingest/infrastructure/prod.tfvars

Plan: 0 to add, 1 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~  update in-place

Terraform will perform the following actions:

  # module.ingest.aws_lambda_function.service will be updated in-place
!~  resource "aws_lambda_function" "service" {
        id                             = "coverage-ingest-prod"
!~      last_modified                  = "2026-05-24T11:11:01.000+0000" -> (known after apply)
!~      source_code_hash               = "uYMcukVKQ5JeVzFnFdrBWDB2iCbmLDYS00Q5mKN5q4U=" -> "zLst/Ijo0Zm0kRbwk+VPPUvyJGmPTFqEhVnaR4nxpng="
        tags                           = {}
#        (30 unchanged attributes hidden)

#        (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

📝 Plan generated in Ingest #3366

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Terraform plan in ./services/api/infrastructure in the prod workspace
With var files: ./services/api/infrastructure/prod.tfvars

Plan: 0 to add, 3 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~  update in-place

Terraform will perform the following actions:

  # module.api.aws_lambda_function.api will be updated in-place
!~  resource "aws_lambda_function" "api" {
        id                             = "coverage-api-prod"
!~      last_modified                  = "2026-05-24T10:40:32.000+0000" -> (known after apply)
!~      source_code_hash               = "FpKMhQmvJWm353SwiER1CFWtQ2fsOX8R0RLnc4MSHnU=" -> "7MfLHuOpNPcHbZxnvCS1wWkLFuf5r3zJXoC0gQGK1i0="
        tags                           = {}
#        (30 unchanged attributes hidden)

#        (4 unchanged blocks hidden)
    }

  # module.event_listener.aws_lambda_function.events will be updated in-place
!~  resource "aws_lambda_function" "events" {
        id                             = "coverage-api-event-listener-prod"
!~      last_modified                  = "2026-05-24T10:40:17.000+0000" -> (known after apply)
!~      source_code_hash               = "FpKMhQmvJWm353SwiER1CFWtQ2fsOX8R0RLnc4MSHnU=" -> "7MfLHuOpNPcHbZxnvCS1wWkLFuf5r3zJXoC0gQGK1i0="
        tags                           = {}
#        (30 unchanged attributes hidden)

#        (4 unchanged blocks hidden)
    }

  # module.webhook_handler.aws_lambda_function.webhooks will be updated in-place
!~  resource "aws_lambda_function" "webhooks" {
        id                             = "coverage-api-webhook-handler-prod"
!~      last_modified                  = "2026-05-24T10:40:25.000+0000" -> (known after apply)
!~      source_code_hash               = "FpKMhQmvJWm353SwiER1CFWtQ2fsOX8R0RLnc4MSHnU=" -> "7MfLHuOpNPcHbZxnvCS1wWkLFuf5r3zJXoC0gQGK1i0="
        tags                           = {}
#        (30 unchanged attributes hidden)

#        (4 unchanged blocks hidden)
    }

Plan: 0 to add, 3 to change, 0 to destroy.

📝 Plan generated in API #3406

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Terraform plan in ./services/analyse/infrastructure in the prod workspace
With var files: ./services/analyse/infrastructure/prod.tfvars

Plan: 0 to add, 1 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~  update in-place

Terraform will perform the following actions:

  # module.analyse.aws_lambda_function.analyse will be updated in-place
!~  resource "aws_lambda_function" "analyse" {
        id                             = "coverage-analyse-prod"
!~      last_modified                  = "2026-05-24T11:11:14.000+0000" -> (known after apply)
!~      source_code_hash               = "XjrPWJz+0Kqjh22CTkk10Hvj82HdnqtZkWAVmnxJFLY=" -> "SitIrgm3d0wE1nq2QuV+LRsJEL5GUyCcLH3ACvHAU3I="
        tags                           = {}
#        (30 unchanged attributes hidden)

#        (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

📝 Plan generated in Analyse #3683

@coverage-robot

coverage-robot Bot commented Jun 9, 2026

Copy link
Copy Markdown

Coverage Report

Merging #2625 will not change the total coverage (compared to 321df73)

Total Coverage Diff Coverage
78.03% ø
Tags
Tag Lines Covered Partial Uncovered Coverage
analyse-service 2430 2124 0 306 87.41%
api-service 1420 1015 0 405 71.48%
clients-package
(Carried forward from dd22fbc)
95 88 0 7 92.63%
configuration-package
(Carried forward from dd22fbc)
665 513 0 152 77.14%
event-package
(Carried forward from dd22fbc)
166 107 0 59 64.46%
ingest-service 1040 852 0 188 81.92%
local-package
(Carried forward from dd22fbc)
250 169 0 81 67.6%
message-package
(Carried forward from dd22fbc)
92 56 0 36 60.87%
orchestrator-service 850 704 0 146 82.82%
publish-service 1113 718 0 395 64.51%
telemetry-package
(Carried forward from dd22fbc)
108 75 0 33 69.44%
Impacted Files

No impacted files in #2625

Last update to d3defb2 at 22:11pm UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-patch Pull request which needs to bump a patch version in this repository. chore Pull requests that resolve chores (for releases) dependencies Pull requests that update a dependency file php Pull requests that update Php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants