CVE-2026-54176
mediumPriorität · verfolgen · 0EPSS 0.006 · 51. PerzentilUSEPSS · bewertet 2026-10-27
backpack/crud provides Create, Read, Update & Delete (CRUD) functions for Backpack, a collection of Laravel packages that help users build custom administration panels. From 6.0.0 until 6.8.14 and 7.0.38, MyAccountController::postAccountInfoForm at POST /admin/edit-account-info permits AccountInfoRequest to update backpack_authentication_column(), which is email by default, without requiring current_password or otherwise verifying the account's existing password. An attacker with a temporary authenticated Backpack session can change the account-recovery email and later use the password-reset flow after the original session expires, converting session compromise into persistent account takeover. The same mechanism permits an insider to set a personal recovery address before access is revoked. The separate password-change endpoint is not affected because it verifies old_password. This issue is fixed in versions 6.8.14 and 7.0.38.
cvss
Technischer Schweregrad, 0–10. Eine Zeile je Quelle.
Basiswert 0–10 · höher = schwerwiegender · Vektor überfahren zum Auflösen
SSVC
Eine Handlungsentscheidung — aus Ausnutzung und Auswirkung.
schwächen
Die CWE-Schwächeklassen, zu denen dies gehört.
betroffene Produkte (2)
Betroffene Produkte und Versionsbereiche.
Advisories (1)
Hersteller- und Ökosystem-Meldungen dazu.
- GHSA-9fw9-8c49-qch8Laravel Backpack CRUD: MyAccountController allows changing the login email without a current-password check2026-08-20ghsa · osvUS
## Summary `MyAccountController::postAccountInfoForm` allows an authenticated user to update the authentication column (default: `email`) without verifying their current password. Because email is the account-recovery anchor, this enables account takeover after the attacker's session ends: the new email address can be used to request a password reset from outside the system. The password-change endpoint in the same controller correctly requires `old_password` verification, so the gap is asymmetric. ## Details The `postAccountInfoForm` action passes `$request->validated()` directly to `$user->update()`. The `AccountInfoRequest` whitelists the authentication column (`email` by default) with no ownership challenge. Contrast this with `ChangePasswordRequest`, which uses `Hash::check` against the stored password before allowing any change. Scenarios where this is exploitable include: - A brief unauthorized session (e.g. unattended workstation, XSS in the admin panel) - An insider/offboarding case where a departing admin sets a personal email address before access is revoked, then resets the password after leaving ## Patch Fixed in [#5990](https://github.com/Laravel-Backpack/CRUD/pull/5990) — the authentication column is now protected by a `current_password` check (mirroring `ChangePasswordRequest`) whenever its value changes. A stronger mitigation — sending a verification link to the new address before persisting the change — can be layered on top using Laravel's `MustVerifyEmail` flow. ## Affected versions All versions prior to 6.8.14 / 7.0.38. ## Fixed versions - 6.x: 6.8.14 - 7.x: 7.0.38
quellen
Welche Quellen diesen Datensatz belegen und wann.
Referenzen (7) nvd
Externe Belege — Patches, Meldungen, Analysen.
- https://github.com/Laravel-Backpack/CRUD/commit/76c3a6e50e3fbd6d5f633208da5b04acb8322969
- https://github.com/Laravel-Backpack/CRUD/commit/8ab94543d880b03c1189acb96b78186323c62a0b
- https://github.com/Laravel-Backpack/CRUD/pull/5990
- https://github.com/Laravel-Backpack/CRUD/pull/5994
- https://github.com/Laravel-Backpack/CRUD/releases/tag/6.8.14
- https://github.com/Laravel-Backpack/CRUD/releases/tag/7.0.38
- https://github.com/Laravel-Backpack/CRUD/security/advisories/GHSA-9fw9-8c49-qch8
Angreifer nutzen Schwachstellen wie diese gegen im Internet exponierte Dienste aus. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.
Kostenloser Scan