CVE-2024-36119
Description
Statamic is a, Laravel + Git powered CMS designed for building websites. In affected versions users registering via the user:register_form tag will have their password confirmation stored in plain text in their user file. This only affects sites matching all of the following conditions: 1. Running Statamic versions between 5.3.0 and 5.6.1. (This version range represents only one calendar week), 2. Using the user:register_form tag. 3. Using file-based user accounts. (Does not affect users stored in a database.), 4. Has users that have registered during that time period. (Existing users are not affected.). Additionally passwords are only visible to users that have access to read user yaml files, typically developers of the application itself. This issue has been patched in version 5.6.2, however any users registered during that time period and using the affected version range will still have the the password_confirmation value in their yaml files. We recommend that affected users have their password reset. System administrators are advised to upgrade their deployments. There are no known workarounds for this vulnerability. Anyone who commits their files to a public git repo, may consider clearing the sensitive data from the git history as it is likely that passwords were uploaded.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
statamic/cmsPackagist | >= 5.3.0, < 5.6.2 | 5.6.2 |
Patches
10b804306c96c[5.x] Prevent user registration form saving `password_confirmation` (#10228)
2 files changed · +32 −1
src/Http/Requests/UserRegisterRequest.php+1 −1 modified@@ -52,7 +52,7 @@ public function processedValues() { return $this->blueprintFields->process()->values() ->only(array_keys($this->submittedValues)) - ->except(['email', 'groups', 'roles', 'super']); + ->except(['email', 'groups', 'roles', 'super', 'password_confirmation']); } public function validator()
tests/Tags/User/RegisterFormTest.php+31 −0 modified@@ -4,7 +4,9 @@ use Statamic\Facades\Blueprint; use Statamic\Facades\Parse; +use Statamic\Facades\Role; use Statamic\Facades\User; +use Statamic\Facades\UserGroup; use Statamic\Statamic; use Tests\NormalizesHtml; use Tests\PreventSavingStacheItemsToDisk; @@ -339,6 +341,35 @@ public function it_will_use_redirect_query_param_off_url() $this->assertStringContainsString($expectedErrorRedirect, $output); } + /** @test */ + public function it_ensures_some_fields_arent_saved() + { + UserGroup::make('client')->title('Client')->save(); + Role::make('admin')->title('Admin')->save(); + + $this->assertNull(User::findByEmail('san@holo.com')); + $this->assertFalse(auth()->check()); + + $this + ->post('/!/auth/register', [ + 'email' => 'san@holo.com', + 'password' => 'chewbacca', + 'password_confirmation' => 'chewbacca', + 'groups' => ['client'], + 'roles' => ['admin'], + 'super' => true, + ]) + ->assertSessionHasNoErrors() + ->assertLocation('/'); + + $user = User::findByEmail('san@holo.com'); + + $this->assertEquals($user->groups()->count(), 0); + $this->assertEquals($user->roles()->count(), 0); + $this->assertNull($user->get('super')); + $this->assertNull($user->get('password_confirmation')); + } + private function useCustomBlueprint() { $blueprint = Blueprint::make()->setContents([
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- github.com/advisories/GHSA-qvpj-w7xj-r6w9ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2024-36119ghsaADVISORY
- dev.to/balogh08/cleaning-your-git-history-safely-removing-sensitive-data-10i5nvdWEB
- docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repositorynvdWEB
- github.com/statamic/cms/commit/0b804306c96c99b81755d5bd02df87ddf392853envdWEB
- github.com/statamic/cms/security/advisories/GHSA-qvpj-w7xj-r6w9nvdWEB
News mentions
0No linked articles in our index yet.