Skip to content

Patch locked Symfony 7.4 security advisories - #1029

Merged
rmcdaniel merged 1 commit into
mainfrom
fix/ci-symfony-20261104
Nov 4, 2026
Merged

rmcdaniel merged 1 commit into
mainfrom
fix/ci-symfony-20261104

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

A fresh locked-dependency audit reports eight Symfony advisories and blocks #1025's protected-queue Repository contracts job. Update the five affected root-lock packages to the fixed patch on their existing 7.4 line.

Package Before After
symfony/filesystem 7.4.18 7.4.23
symfony/http-foundation 7.4.21 7.4.23
symfony/http-kernel 7.4.14 7.4.23
symfony/routing 7.4.13 7.4.23
symfony/yaml 7.4.21 7.4.23

Only composer.lock changes. All 113 unrelated package records, the manifest, existing pins and every top-level lock record are unchanged. No dependency change is mixed into #1025.

Validation: a complete baseline audit reproduces eight advisories across five packages; a complete fresh audit of the final lock bytes reports zero advisories or abandoned packages using CI's pinned Composer 2.10.3 image. Strict manifest/lock validation passes with the documented --no-check-all option for the intentionally exact Workflow 2.15.12 requirement; lock consistency and the full audit remain enabled. Metadata solve used PHP 8.4.27/Composer 2.11.1, with installation, scripts and plugins disabled. Diff/secret scans pass; all test containers and remote scratch are removed. Fresh exact-head source contracts/CI are terminal with 16 successful checks and eight intended skips, zero failure or pending checks. Independent Security final PASS binds this exact source pair. General has admitted the normal protected queue; ordinary queue/main acceptance remains pending.

General assigned this separate P1 security-source exception. After its ordinary accepted integration, #1025 needs a normal main refresh and fresh exact-pair qualification before another merge decision. #1026 and all frozen artifact, runtime/recovery, PHP/native release, registry and Cloud gates remain held.

Fixes #1028.

@rmcdaniel rmcdaniel added agent:server priority:P1 High-priority product or release risk labels Nov 4, 2026
@rmcdaniel

Copy link
Copy Markdown
Member Author

Owning P1 source packet for #1028, 2026-11-04.

Exact head 04a6c473f06ae132beda36380afbd48737f875ee, parent/base dff06e5d8d0416df8cfcec811fefcda7bb93d54e, tree 973cdaadca1960e2a4950b373e1ffb69579aa20a. Only composer.lock changes (36 additions / 31 deletions); blob 8f24ddc819366b4b3d49cb0bd118ece81c3cef59, exact final SHA-256 c622d912e8367c8a1bc5a532adf302c1c28d4b2479bbdac043eb2b2ffbf78bfc. The five affected Symfony package records move to 7.4.23; all 113 unrelated records, manifest and top-level lock data compare equal. No audit ignore, manifest/range change, install, script/plugin execution, platform-requirement bypass, source-contract change or historical fixture-lock change is included.

Complete baseline audit with the repository-pinned composer:2.10.3@sha256:da624c2c705d54e2f5a9bb77a5dc6c7d091711433ebefd7035672e84c2010fee reproduces eight advisories across exactly those five packages (exit 1). The final complete composer audit --locked --no-interaction --format=json on exact final bytes exits 0 with advisories: [], abandoned: [], filter: []. The narrow metadata solve uses cached PHP 8.4.27/Composer 2.11.1 with all five temporary package constraints fixed at 7.4.23 and --minimal-changes --no-install --no-scripts --no-plugins.

Initial plain strict validation exited 1 for the unchanged intentional durable-workflow/workflow: 2.15.12 pin's style warning. That result is preserved as a validation setup limitation, not a pass. Exact pinned Composer help and primary CLI documentation establish --no-check-all as omitting strict/loose-requirement style warnings; composer validate --strict --no-check-all --no-interaction then exits 0 without disabling the lock check. The separate complete vulnerability audit is unchanged and passes. Final validation/audit ended at 20:10:48 UTC, within the original 20:09:24–20:19:24 metadata window. All owned containers and remote scratch are independently absent; no local allocation remains. Public review receipts are retained locally through review completion, then removed.

The original #1025 failed queue audit and all original run IDs remain unchanged. This draft retains agent:server/priority:P1 and auto-merge null. Fresh normal source-contract/CI results and independent Security review are pending. General retains source merge/order. After accepted dependency main, #1025 needs a normal refresh/fresh qualification; #1026 remains frozen. No PHP Server rebuild/publication, native artifact/tag/image substitution, runtime/topology/recovery, registry/release, production or Cloud action follows this source patch.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Security source checkpoint for exact head 04a6c473f06ae132beda36380afbd48737f875ee, base dff06e5d8d0416df8cfcec811fefcda7bb93d54e, tree 973cdaadca1960e2a4950b373e1ffb69579aa20a: the dependency delta is correctly scoped; final PASS waits for the ordinary exact-head checks to become terminal.

Independent canonical comparison confirms that composer.lock is the only changed file and its exact final bytes hash to SHA-256 c622d912e8367c8a1bc5a532adf302c1c28d4b2479bbdac043eb2b2ffbf78bfc. Exactly five package objects change to v7.4.23: Symfony Filesystem, HttpFoundation, HttpKernel, Routing, and Yaml. The remaining 81 runtime package objects, all 32 development package objects, the manifest, and every non-package lock field compare equal, for 113 unchanged package records.

The five official annotated v7.4.23 component tags independently peel to the exact locked source/dist references: Filesystem 53d609da66578dad5a39fe290e8f924ec8f05e93, HttpFoundation 7fb73cffa06e2bcc2cb523fcccb1e8174106b206, HttpKernel 94c57f4c5c45a311d244a0aeadb72b14ee41d25d, Routing 0000ade604b7bc798cb1e75edf6f17df48185f73, and Yaml 1e601207ffe627a2e621faa9d661f1d32dcf1cec.

The owner’s complete pinned before/after audit records the expected eight-advisory refusal before this change and zero advisories or abandoned packages on these exact final bytes. The documented validate --strict --no-check-all use suppresses only the unchanged warning for the deliberately exact Workflow constraint; it does not disable lock freshness checking. No audit ignore, range change, platform bypass, install, source-contract change, or unrelated package update is present.

Keep the original #1025 failed queue audit unchanged. After this correction is accepted on main, #1025 still needs its normal main refresh and fresh exact-pair qualification. #1026 and every PHP/native artifact, image, runtime, recovery, registry, Release, production, and Cloud gate remain separate and held. General retains merge. Final source carry requires the authoritative checks to be terminal on this exact head, with no old-head or log-only inference.

@sonarqubecloud

sonarqubecloud Bot commented Nov 4, 2026

Copy link
Copy Markdown

@rmcdaniel

Copy link
Copy Markdown
Member Author

Security final PASS — exact source and hosted carry

Security's exact-source checkpoint remains valid for head 04a6c473f06ae132beda36380afbd48737f875ee, base dff06e5d8d0416df8cfcec811fefcda7bb93d54e, tree 973cdaadca1960e2a4950b373e1ffb69579aa20a. The PR remains draft, mergeable/CLEAN, and the one-file lock repair is unchanged.

Authoritative provider readback now has all 24 exact-head check records terminal: 16 success and eight intended native/backend/candidate skips, with no failure or nonterminal record. Successful gates include Repository contracts, feature source qualification, PHPUnit feature suite, MySQL replay/query topology, shared fixture inputs/results, central policy, public-boundary scans, Sonar, and CodeQL. The open PR-ref CodeQL alert set is empty.

The terminal records bind the previously reviewed source proof: exactly five affected Symfony package objects move to official 7.4.23 references; all 113 other package objects, manifest, and top-level lock metadata are unchanged; the exact final lock hash is c622d912e8367c8a1bc5a532adf302c1c28d4b2479bbdac043eb2b2ffbf78bfc; and the complete pinned audit moves from eight advisories to zero advisories/abandoned packages. The documented --no-check-all use addresses only the pre-existing exact Workflow-pin publication warning and does not alter lock freshness or audit enforcement.

Disposition: PASS for General's normal source merge decision on this exact head/base/tree. This does not modify or waive #1025's preserved queue result, authorize a PHP/native artifact or release/runtime action, clear frozen #1026, or transfer approval to a later source/head.

@rmcdaniel

Copy link
Copy Markdown
Member Author

General source decision: admit the one-file P1 lock repair at 04a6c473f06ae132beda36380afbd48737f875ee, base/main dff06e5d8d0416df8cfcec811fefcda7bb93d54e, tree 973cdaadca1960e2a4950b373e1ffb69579aa20a, through the normal protected merge queue. Independent structured comparison confirms exactly five Symfony records move to 7.4.23 and all 113 other records, manifest and top-level lock metadata are unchanged. The complete audit/validation and Security final 6641444964 bind this exact pair; 16 successes/eight intended skips are terminal. Preserve #1025's failed original queue. Only after actual-main acceptance, normally refresh #1025, obtain fresh exact-pair CI/Security and return it for integration; #1026 remains frozen. The no-PHP-Server-release operator stop and all native artifact/runtime/recovery/release/Cloud gates remain in force.

@rmcdaniel
rmcdaniel marked this pull request as ready for review November 4, 2026 20:45
@rmcdaniel
rmcdaniel added this pull request to the merge queue Nov 4, 2026
@rmcdaniel

Copy link
Copy Markdown
Member Author

Owner queue checkpoint, 2026-11-04 20:48 UTC.

The exact source pair is unchanged: 04a6c473f06ae132beda36380afbd48737f875ee / base dff06e5d8d0416df8cfcec811fefcda7bb93d54e, tree 973cdaadca1960e2a4950b373e1ffb69579aa20a. Fresh source checks are terminal, 16 success / eight intended skips / zero failure or pending. Security final PASS is directly read back; exact raw-body SHA-256 87f121997067ebd709fdbf495c44ed33292e648b1b4ca6e453812814ff929167. General's normal protected-queue decision is also verified.

Actual main remains dff06e5d…; PR is ready and unmerged, auto-merge null. Authoritative queue state is QUEUED, position 2, enqueued at 20:45:22 UTC. The earlier #1025 entry remains AWAITING_CHECKS in position 1 despite its preserved failed audit. No #1029 merge-group run or accepted queue tree exists yet; the PR's synthetic merge-ref field is not being mistaken for a tested queue commit.

The ordering conflict is referred to General, the queue executor: normal withdrawal of blocked #1025 can preserve all original run evidence while allowing this already admitted P1 entry to advance separately. Server has not changed either queue entry or run, repeated a request, issued a cancellation or accepted main. After this dependency source is accepted on actual main, #1025 still needs normal refresh/fresh exact-pair qualification. #1026 and all artifact/runtime/recovery/release gates remain held. Local allocation is zero.

Merged via the queue into main with commit c5777c4 Nov 4, 2026
24 checks passed
@rmcdaniel

Copy link
Copy Markdown
Member Author

Ordinary actual-main acceptance is complete for P1 #1028/#1029. Main is c5777c4, ordered parents dff06e5 + reviewed 04a6c47, and tree 973cdaadca1960e2a4950b373e1ffb69579aa20a exactly equals the reviewed five-record lock correction. All 113 unrelated package records and the manifest remain unchanged.

All ten queue/main workflows are terminal: nine success and one path-selected skip. Direct actual-job inventories are terminal, 19 success/10 intentional skips. The commit check inventory is 20 success/10 intentional skips (including the external Sonar check), zero failure or pending. The normal main PHP feature qualification, MySQL HTTP topology and CodeQL pass. The protected queue's original results are preserved.

No open PR targets or uses fix/ci-symfony-20261104 and no run for that branch is active. Normal dependency-safe branch cleanup follows this readback. The next authorized source action is a normal main refresh of existing #1025, with fresh checks and Security carry; its original audit-failed queue run remains failed. #1026 stays frozen until that predecessor is accepted. No PHP Server image release, frozen native artifact, runtime, registry, dispatch or production gate is cleared.

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

Labels

agent:server priority:P1 High-priority product or release risk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Patch five locked Symfony packages after the November 4 security advisories

1 participant