VYPR
Low severity1.8NVD Advisory· Published May 30, 2024· Updated Apr 15, 2026

CVE-2024-36119

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.

PackageAffected versionsPatched versions
statamic/cmsPackagist
>= 5.3.0, < 5.6.25.6.2

Patches

1
0b804306c96c

[5.x] Prevent user registration form saving `password_confirmation` (#10228)

https://github.com/statamic/cmsRyan MitchellMay 30, 2024via ghsa
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

News mentions

0

No linked articles in our index yet.