# CVE-2022-41938: Cross site scripting vulnerability with discussion titles in flarum

> Attackers can inject malicious HTML via discussion titles, leading to cross-site scripting when visitors view the page.

- **Severity:** Critical 9.0 (`CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 19 Nov 2022
- **Updated:** 23 Apr 2025
- **Also known as:** GHSA-7x4w-j98p-854x

## What is CVE-2022-41938?

CVE-2022-41938 is a critical cross-site scripting vulnerability in flarum framework, published on 19 Nov 2022. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.

### Official description

Flarum is an open source discussion platform. Flarum's page title system allowed for page titles to be converted into HTML DOM nodes when pages were rendered. The change was made after `v1.5` and was not noticed. This allowed an attacker to inject malicious HTML markup using a discussion title input, either by creating a new discussion or renaming one. The XSS attack occurs after a visitor opens the relevant discussion page. All communities running Flarum from `v1.5.0` to `v1.6.1` are impacted. The vulnerability has been fixed and published as flarum/core `v1.6.2`. All communities running Flarum from `v1.5.0` to `v1.6.1` have to upgrade as soon as possible to v1.6.2. There are no known workarounds for this issue.

Weakness: CWE-79 (Improper Neutralization of Input During Web Page Generation)

## Which versions are affected by CVE-2022-41938?

2 open source packages ship an affected version, including flarum/core. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `flarum/core` | Packagist | From 1.5.0 | 1.6.2 |
| `flarum/core` | Packagist | From 1.5.0 | 1.6.2 |

Products: Flarum Flarum.

## How do I fix CVE-2022-41938?

Upgrade flarum/core to 1.6.2 or later.

## Is CVE-2022-41938 being exploited?

There is no known exploitation of CVE-2022-41938 in the wild and no public exploit code.

## Other vulnerabilities in flarum framework

- [CVE-2021-32671](https://insights.sbomify.com/CVE-2021-32671/): XSS vulnerability with translator (critical 10.0)
- [CVE-2019-13183](https://insights.sbomify.com/CVE-2019-13183/): Cross-site request forgery in n/a (high 8.8)
- [CVE-2023-22487](https://insights.sbomify.com/CVE-2023-22487/): Post mentions can be used to read any post on the forum without access control (high 7.7)
- [CVE-2019-11514](https://insights.sbomify.com/CVE-2019-11514/): Flarum mishandles invalidation of user email tokens (high 7.5)
- [CVE-2023-40033](https://insights.sbomify.com/CVE-2023-40033/): Server-Side Request Forgery via Avatar upload in flarum (high 7.1)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2022-41938 and fix it if it is affected.

What it is: CVE-2022-41938 is a critical cross-site scripting vulnerability in flarum framework, published on 19 Nov 2022. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Exploitation: There is no known exploitation of CVE-2022-41938 in the wild and no public exploit code.

Affected packages and fixed versions:
- flarum/core (Packagist): affected from 1.5.0; fixed in 1.6.2
- flarum/core (Packagist): affected from 1.5.0; fixed in 1.6.2

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2022-41938/ (Markdown: https://insights.sbomify.com/CVE-2022-41938/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2022-41938
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-41938
- OSV: https://osv.dev/vulnerability/CVE-2022-41938

---
From sbomify Insights: https://insights.sbomify.com/CVE-2022-41938/
Summaries are generated and may contain mistakes; the official description above is the record.
