Vulnerability advisory

GHSA-crmm-hgp2-wgrp

Laravel Framework: Temporary Signed URL Path Confusion

Published Updated OSV record ↗
Severity
  • CVSS 3.xCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N

Affected versions

AffectedFixed in
13.0.0 to before 13.12.013.12.0Advisories →
Also listed as affected (15)
All versions before 12.61.112.61.1Advisories →
Also listed as affected (1241)

Description

A vulnerability in Laravel's local filesystem driver allows temporary signed URLs to be parsed ambiguously, potentially misrouting requests and bypassing expiration enforcement.

Under certain conditions, a generated temporary signed URL can be interpreted differently by the server than intended at signing time. This may cause requests to resolve to an unintended resource, and can prevent expiration from being enforced, allowing expired URLs to remain valid indefinitely.

Impact
  • Expired temporary URLs may continue to be accepted
  • Requests may resolve to a different resource than the one that was signed
  • The upload variant may allow writes to reach an unintended destination

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools