GHSA-2f46-4xjm-73x5
Passbolt API Stored XSS on first/last name during setup
Description
An administrator can craft a user with a malicious first name and last name, using a payload such as
<svg onload="confirm(document.domain)">'); ?></svg>
The user will then receive the invitation email and click on the setup link. The setup start page served by the server will fire the XSS.
Impact of issue
An administrator could use this exploit to edit the setup start page for a given user, for example, trick the user into installing another extension. Even though the severity of this issue in itself is high, the likelihood is low because the exploit will be visible in clear by the user in the email notification, and also requires an action from a malicious administrator.
Fix
Sanitize the firstname and lastname in the page that is used to trigger the extension setup process.
Additionally since v2.11 some default CSP are inserted in the server response headers to prevent inline-scripts or 3rd party domain scripts on pages served by the passbolt API. This is to cater for the case where the administrator has not set them up as part of the web server configuration.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- High
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
What each source reports
GitHub Advisories Score used 7.2
Passbolt API Stored XSS on first/last name during setup
Description
An administrator can craft a user with a malicious first name and last name, using a payload such as
<svg onload="confirm(document.domain)">'); ?></svg>
The user will then receive the invitation email and click on the setup link. The setup start page served by the server will fire the XSS.
Impact of issue
An administrator could use this exploit to edit the setup start page for a given user, for example, trick the user into installing another extension. Even though the severity of this issue in itself is high, the likelihood is low because the exploit will be visible in clear by the user in the email notification, and also requires an action from a malicious administrator.
Fix
Sanitize the firstname and lastname in the page that is used to trigger the extension setup process.
Additionally since v2.11 some default CSP are inserted in the server response headers to prevent inline-scripts or 3rd party domain scripts on pages served by the passbolt API. This is to cater for the case where the administrator has not set them up as part of the web server configuration.
- Record
GHSA-2f46-4xjm-73x5- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV 7.2
Passbolt API Stored XSS on first/last name during setup
Description
An administrator can craft a user with a malicious first name and last name, using a payload such as
<svg onload="confirm(document.domain)">'); ?></svg>
The user will then receive the invitation email and click on the setup link. The setup start page served by the server will fire the XSS.
Impact of issue
An administrator could use this exploit to edit the setup start page for a given user, for example, trick the user into installing another extension. Even though the severity of this issue in itself is high, the likelihood is low because the exploit will be visible in clear by the user in the email notification, and also requires an action from a malicious administrator.
Fix
Sanitize the firstname and lastname in the page that is used to trigger the extension setup process.
Additionally since v2.11 some default CSP are inserted in the server response headers to prevent inline-scripts or 3rd party domain scripts on pages served by the passbolt API. This is to cater for the case where the administrator has not set them up as part of the web server configuration.
- Record
GHSA-2f46-4xjm-73x5- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-79
- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
passbolt/passbolt_apiPackagist | before 2.11.0 | 2.11.0 |
passbolt/passbolt_apiPackagist | before 2.11.0, plus listed versions v1.0.10v1.0.11v1.0.12v1.0.13v1.0.14 Show 45 moreShow lessv1.0.5v1.0.6v1.0.7v1.0.8v1.0.9v1.1.0v1.2.0v1.2.1v1.3.0v1.3.1v1.3.2v1.4.0v1.5.1v1.6.0v1.6.1v1.6.10v1.6.2v1.6.3v1.6.4v1.6.5v1.6.9v2.0.0v2.0.0-rc1v2.0.0-rc2v2.0.1v2.0.2v2.0.3v2.0.4v2.0.5v2.0.7v2.0.8v2.1.0v2.1.1v2.10.0v2.2.0v2.3.0v2.4v2.5.0v2.5.1v2.6.0v2.6.1v2.7.0v2.7.1v2.7.2v2.8.0 | 2.11.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
GHSA-2f46-4xjm-73x5 is a high vulnerability (CVSS 7.2) in passbolt/passbolt_api, published May 20, 2024. No source lists public exploit code. Fixed in passbolt/passbolt_api 2.11.0.
References
github.com/passbolt/passbolt_api/commit/6135b483f72c6853e6085e329f5f8d7be60c9933
github.com/FriendsOfPHP/security-advisories/blob/master/passbolt/passbolt_api/2019-08-07-1.yaml
github.com/passbolt/passbolt_api/blob/master/CHANGELOG.md
passbolt.com/incidents/20190807_multiple_vulnerabilities
github.com/advisories/GHSA-2f46-4xjm-73x5
github.com/passbolt/passbolt_api
Left out here: 6 versions. The JSON record has them.