Repository navigation
chore(deps): resolve five Composer security advisories - #7
Merged
Merged
Conversation
Resolve the five advisories reported by `composer audit`, which fail CI on main before lint, static analysis and tests run. - CVE-2026-108082 (GHSA-r925-mgvr-h9cc), high: symfony/http-foundation ReDoS in HeaderUtils::split() via Cache-Control. v8.1.6 -> v8.1.10 - GHSA-3q6v-r5mr-hxv8, high: league/commonmark quadratic-time DoS in the GFM Table extension. 2.10.0 -> 2.10.7 - GHSA-97jj-33gv-5xf9, medium: league/commonmark DisallowedRawHtml bypass. 2.10.0 -> 2.10.7 - CVE-2026-45070 (GHSA-vqc8-7275-q272), medium: symfony/mime email header injection via parameter names. v8.1.6 -> v8.1.10 - CVE-2026-102279 (GHSA-jh5r-qr3c-85q8), low: laravel/framework XSS on the debug exception page. v13.29.0 -> v13.39.0 laravel/prompts v0.3.24 -> v0.3.26 is pulled in by laravel/framework. Lock-only change via `composer update <the four packages> --with-dependencies --minimal-changes`; composer.json is unchanged and every version stays within its existing constraint.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This updates dependencies to clear the five advisories that
composer auditreports. The CI audit step was failing onmain, so pint, phpstan and the tests never ran. This is a targeted dependency security update, not a comprehensive security audit of the application.Summary
The change is lock-only, made with:
HeaderUtils::split()via theCache-Controlrequest headerDisallowedRawHtmlbypassWhy it was needed:
main's lock file was flagged by advisories published after its last green run on 2026-09-23. CI'scomposer auditstep fails before any later step runs.laravel/frameworkis a direct dependency.Scope:
composer.jsonis unchanged. The only changed file iscomposer.lock: 42 lines added, 39 removed.content-hashis unchanged.Evidence
Before (CI on
main):composer auditreportsFound 5 security vulnerability advisories affecting 4 packagesand exits 1.After: run locally on PHP 8.5.8 / Composer 2.10.2, in CI order, with
APP_CONFIG_CACHEpointed at a path that doesn't exist:composer validate --strict./composer.json is validcomposer auditNo security vulnerability advisories found.vendor/bin/pint --testvendor/bin/phpstan analyse --no-progressphp artisan testphp artisan aboutFor the boot check I ran
php artisan serve:GET /returned 200.GET /up(the health route) returned 200.Limitation: the existing suite has only 6 tests, and they run on SQLite in memory. A green run shows that the app boots, the wiring works and the architecture rules hold. It does not show framework behaviour across 13.30 → 13.39, which is mostly bug fixes, with no breaking changes listed in the release notes.
Merge Danger
Door: two-way
Reverting this commit restores the previous lock file. No data or schema changes are involved.
Blast Radius: framework
The framework moves 10 minor releases within Laravel 13. Symfony and commonmark get patch releases only. The app currently has 3 PHP files and does not use Markdown, Mail or custom header parsing, so the practical surface is boot and routing, and both are verified above.