Skip to content

Reflex vulnerable to private state fields modification

High severity GitHub Reviewed Published May 14, 2025 in reflex-dev/reflex • Updated May 15, 2025

Package

pip reflex (pip)

Affected versions

>= 0.2.7, < 0.4.9.post1
> 0.4.9.post1, < 0.5.10.post1
> 0.5.10.post1, < 0.6.8.post1
> 0.6.8.post1, < 0.7.1.post1
> 0.7.1.post1, < 0.7.2.post1
> 0.7.2.post1, < 0.7.3.post1
> 0.7.3.post1, < 0.7.4.post1
> 0.7.4.post1, < 0.7.5.post1
> 0.7.5.post1, < 0.7.6.post1
> 0.7.6.post1, < 0.7.7.post1
> 0.7.7.post1, < 0.7.8.post1
> 0.7.8.post1, < 0.7.9.post1
> 0.7.9.post1, < 0.7.10.post1
> 0.7.10.post1, < 0.7.11

Patched versions

0.4.9.post1
0.5.10.post1
0.6.8.post1
0.7.1.post1
0.7.2.post1
0.7.3.post1
0.7.4.post1
0.7.5.post1
0.7.6.post1
0.7.7.post1
0.7.8.post1
0.7.9.post1
0.7.10.post1
0.7.11

Description

Summary

A user on the website can modify any private field on their own state.

Details

An event meant to modify client side storage had access to modify any field on the state for the given user. This includes non-client side ones and most importantly private fields. This still requires the actor to guess the name for the private fields.

Impact

If one of the States in your app can be modified to allow the user into a different role or a different user this allows the actor to act as someone else or as admin.

References

@adhami3310 adhami3310 published to reflex-dev/reflex May 14, 2025
Published to the GitHub Advisory Database May 15, 2025
Reviewed May 15, 2025
Last updated May 15, 2025

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
Low
User interaction
None
Scope
Unchanged
Confidentiality
None
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:L/UI:N/S:U/C:N/I:H/A:H

EPSS score

Weaknesses

CVE ID

CVE-2025-47425

GHSA ID

GHSA-rf8x-9mhr-49wg

Source code

Credits

Loading Checking history
Improvements are not currently accepted on this advisory because it uses an unsupported versioning operator. Read more and discuss here.