GitHub Advisoryadvisory · Packagist
GHSA-m8xx-3x29-84h8 backpack/crud is vulnerable to Cross-Site Scripting (XSS)
MEDIUM
Official page ↗
- Aliases
- CVE-2022-31114
- Ecosystem
- Packagist
- Packages
- backpack/crud
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
- Weaknesses
- CWE-79
- Reviewed
- 2026-06-03
Affected packages
• Packagist backpack/crud: >= 5.0.0, < 5.0.13 → fixed in 5.0.13
• Packagist backpack/crud: >= 4.1.0, < 4.1.69 → fixed in 4.1.69
• Packagist backpack/crud: < 4.0.63 → fixed in 4.0.63
Description
Impact
It’s a “*moderate*” vulnerability… but being an admin panel, take this seriously. It’s difficult… but an attacker could conduct a targeted phishing campaign, in order to trick your users or admins to click a malicious link, which under very specific circumstances could give them information... or even admin access. It’s *unlikely*, but that’s not good enough in admin panels - It should be made *impossible*. That’s why you are bothered with this.
Patches
If you don’t have custom error views, the views provided by Backpack would output the exception message *without escaping it*, which made an attack possible using Reflected XSS, in some very specific circumstances (that we will not disclose). To fix those error views in Backpack 4.x and 5.x, please run:
```bash
composer update backpack/crud
php artisan backpack:fix
```
The problem has been patched in:
• v4.0.63
• v4.1.69
• v5.0.13
> IMPORTANT! Running a `composer update` should get you the patched version, but you also need to run `php artisan backpack:fix` afterwards, to patch your published error views, if necessary.
Workarounds
Alternatively (if you don’t want to run `composer update`), you can manually look inside your error views in “*resources/views/errors*” and output `e($exception->getMessage())` instead of `$exception->getMessage()`. That’s all there is to the fix, really.
What the maintainers have done about this
Acted as soon as our team found it (last week of March 2022):
• Pushed patches to 5.x, 4.1 and 4.0;
• Made it easy to apply the fix to existing projects, using a new `php artisan backpack:fix` command;
• Kept the specific circumstances a secret; as far as they know, only the maintainer's team knows about the niche case where this exploit is possible;
• Emailed all our licensed users, to have a chance to fix their projects before it’s public;
• Sent an email blast to our 25.000+ strong Security Newsletter;
• Made this public with a blog post and soon a CVE, after our community has had a reasonable chance to fix their projects;
• Will continue to monitor this and remind paying users to apply this fix if they haven’t;
For more information
If you have any questions or comments about this advisory:
• Open an issue in backpack/crud
• Email us at [email protected]
---
PS. You can read this blog post for more information.
Related
Alias · CVE (1)
- CVE-2022-31114 backpack/crud provides Create, Read, Update & Delete (CRUD) functions for Backpack, a collection of Laravel packages that help users build… vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness