| Title | spatie Scotty 1.4.2 Missing Integrity Check |
|---|
| Description | Scotty (spatie/scotty) version 1.4.2 downloads and installs self-updates without verifying the integrity or authenticity of the downloaded phar. `SelfUpdater::update()` fetches the new binary from a GitHub release URL via `SelfUpdater::defaultDownloader()` (which follows redirects without validating the final target domain), and after only a non-empty and minimum-size check (`MIN_PHAR_SIZE_BYTES = 100000`), writes it to `{pharPath}.new`, chmods it 0755, and renames it over the running phar with no signature or checksum verification. An attacker able to perform a man-in-the-middle attack on the HTTPS download path (abuse of a trusted CA, malicious proxy, or DNS hijacking with a valid certificate) or to poison the GitHub release asset can substitute a malicious phar, which then executes with the victim's privileges the next time Scotty is run, leading to code execution / supply-chain compromise.
Reproduction: https://github.com/sumo166/CVE-apply/blob/main/spatie/scotty/Self-Update%20Downloads%20Phar%20Without%20Integrity%20Check%20(CWE-494)_cve.md |
|---|
| Source | ⚠️ https://github.com/spatie/scotty/issues/21 |
|---|
| User | summmm (UID 69690) |
|---|
| Submission | 08/23/2026 07:48 (26 days ago) |
|---|
| Moderation | 09/18/2026 10:54 (26 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 407451 [spatie Scotty up to 1.4.2 Self Update SelfUpdater.php SelfUpdater::update code download] |
|---|
| Points | 20 |
|---|