Skip to content

Persistent Cross-site Scripting in Ibexa RichText Field Type

High severity GitHub Reviewed Published Aug 14, 2024 in ibexa/fieldtype-richtext • Updated Aug 16, 2024

Package

composer ibexa/fieldtype-richtext (Composer)

Affected versions

>= 4.6.0, < 4.6.10

Patched versions

4.6.10

Description

Impact

The validator for the RichText fieldtype blocklists javascript: and vbscript: in links to prevent XSS. This can leave other options open, and the check can be circumvented using upper case. Content editing permissions for RichText content is required to exploit this vulnerability, which typically means Editor role or higher. The fix implements an allowlist instead, which allows only approved link protocols. The new check is case insensitive.

Patches

Workarounds

None.

References

Credit

This vulnerability was discovered and reported to Ibexa by Alec Romano: https://github.com/4rdr
We thank them for reporting it responsibly to us.

How to report security issues:
https://doc.ibexa.co/en/latest/infrastructure_and_maintenance/security/reporting_issues/

References

@glye glye published to ibexa/fieldtype-richtext Aug 14, 2024
Published to the GitHub Advisory Database Aug 14, 2024
Reviewed Aug 14, 2024
Published by the National Vulnerability Database Aug 16, 2024
Last updated Aug 16, 2024

Severity

High

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

EPSS score

0.045%
(17th percentile)

Weaknesses

CVE ID

CVE-2024-43369

GHSA ID

GHSA-hvcf-6324-cjh7

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.