# CVE-2024-45803: Cross site scripting (XSS) Vulnerability on route /wireui/button?label=Content in wireui

> Attackers can inject malicious JavaScript via the label parameter in WireUI button endpoints, leading to session hijacking or user impersonation.

- **Severity:** Medium 5.1 (`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 17 Sep 2024
- **Updated:** 18 Sep 2024
- **Also known as:** GHSA-rw5h-g8xq-6877

## What is CVE-2024-45803?

CVE-2024-45803 is a medium-severity cross-site scripting vulnerability in wireui, published on 17 Sep 2024. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

### Official description

Wire UI is a library of components and resources to empower Laravel and Livewire application development. A potential Cross-Site Scripting (XSS) vulnerability has been identified in the `/wireui/button` endpoint, specifically through the `label` query parameter. Malicious actors could exploit this vulnerability by injecting JavaScript into the `label` parameter, leading to the execution of arbitrary code in the victim's browser. The `/wireui/button` endpoint dynamically renders button labels based on user-provided input via the `label` query parameter. Due to insufficient sanitization or escaping of this input, an attacker can inject malicious JavaScript. By crafting such a request, an attacker can inject arbitrary code that will be executed by the browser when the endpoint is accessed. If exploited, this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the affected website. This could lead to: **Session Hijacking**: Stealing session cookies, tokens, or other sensitive information. **User Impersonation**: Performing unauthorized actions on behalf of authenticated users. **Phishing**: Redirecting users to malicious websites. **Content Manipulation**: Altering the appearance or behavior of the affected page to mislead users or execute further attacks. The severity of this vulnerability depends on the context of where the affected component is used, but in all cases, it poses a significant risk to user security. This issue has been addressed in release versions 1.19.3 and 2.1.3. Users are advised to upgrade. There are no known workarounds for this vulnerability.

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

## Which versions are affected by CVE-2024-45803?

4 open source packages ship an affected version, including wireui/wireui. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `wireui/wireui` | Packagist | All versions | 1.19.3 |
| `wireui/wireui` | Packagist | All versions | 1.19.3 |
| `wireui/wireui` | Packagist | From 2.0.0 | 2.1.3 |
| `wireui/wireui` | Packagist | From 2.0.0 | 2.1.3 |

Products: Wireui Wireui.

## How do I fix CVE-2024-45803?

Upgrade wireui/wireui to a fixed version for your release line: 1.19.3 or 2.1.3.

## Is CVE-2024-45803 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-45803 exists.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2024-45803 and fix it if it is affected.

What it is: CVE-2024-45803 is a medium-severity cross-site scripting vulnerability in wireui, published on 17 Sep 2024. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-45803 exists.

Affected packages and fixed versions:
- wireui/wireui (Packagist): affected all versions; fixed in 1.19.3
- wireui/wireui (Packagist): affected all versions; fixed in 1.19.3
- wireui/wireui (Packagist): affected from 2.0.0; fixed in 2.1.3
- wireui/wireui (Packagist): affected from 2.0.0; fixed in 2.1.3

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-2024-45803/ (Markdown: https://insights.sbomify.com/CVE-2024-45803/index.md)
```

## Sources

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

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