Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable via application layer, low privilege required to reach updateConfig; limited CIA impact from prototype property injection without confirmed gadget chain.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
4DescriptionCVE.org
A security vulnerability has been detected in tamagui up to 2.3.0. This affects the function updateConfig of the file code/core/web/src/config.ts. Such manipulation leads to improperly controlled modification of object prototype attributes. The attack may be performed from remote. Upgrading to version 2.3.1 is able to mitigate this issue. The name of the patch is e46af9879b7627934ea4d6d6e46e65cea53abb3d. The affected component should be upgraded.
AnalysisAI
Prototype pollution in Tamagui's updateConfig function allows authenticated remote attackers to inject arbitrary properties into the JavaScript Object prototype, affecting all versions through 2.3.0. The flaw in code/core/web/src/config.ts permitted passing '__proto__' as the key argument to updateConfig, causing Object.assign to merge attacker-controlled values directly onto Object.prototype. No public exploitation (KEV) is confirmed, but proof-of-concept exploit code exists per SSVC assessment; EPSS at 0.34% (26th percentile) reflects limited observed exploitation interest at time of analysis.
Technical ContextAI
Tamagui is a cross-platform React and React Native UI framework (CPE: cpe:2.3:a/n/a:tamagui). The vulnerable function updateConfig in code/core/web/src/config.ts previously executed Object.assign(config![key], value) without validating whether key was an inherited or own property of the config object. CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes) describes this class: when an attacker controls a key passed to a merge or assignment operation, they can target __proto__ or constructor.prototype, injecting properties into the global Object prototype. Because every JavaScript object inherits from Object.prototype, a polluted prototype can affect the entire application runtime, altering default property lookups across unrelated code paths. The patch (commit e46af9879b7627934ea4d6d6e46e65cea53abb3d) adds an Object.prototype.hasOwnProperty.call(config, key) guard that rejects keys not present as own properties on the config object before proceeding with the assignment.
RemediationAI
Upgrade to Tamagui version 2.3.1, which is the vendor-released patched release confirmed at https://github.com/tamagui/tamagui/releases/tag/v2.3.1. The specific fix is commit e46af9879b7627934ea4d6d6e46e65cea53abb3d, which adds a hasOwnProperty guard before any Object.assign call in updateConfig. If immediate upgrade is not possible, the most effective compensating control is to audit all call sites of updateConfig in application code and validate that the key argument is restricted to an allowlist of known configuration keys (e.g., 'themes', 'tokens', 'settings') before being passed to the function - this prevents __proto__ or constructor from reaching the vulnerable code path. Blocking network-accessible entry points that allow arbitrary config key submission is a secondary control but has limited applicability since the exploitation pathway is application-specific. The trade-off of input validation as a compensating control is that it must be applied at every call site, creating maintenance burden; upgrade to 2.3.1 is the definitive fix.
More in Prototype Pollution
View allPrototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu
Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau
Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service
A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi
A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function
All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s
This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr
Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser
alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde
A vulnerability exists in the 'dagre-d3-es' Node.js package version 7.0.9, specifically within the 'bk' module's addConf
A Prototype Pollution vulnerability in the util-deps.addFileDepend function of magix-combine-ex versions thru 1.2.10 all
Chartist 1.x through 1.3.0 allows Prototype Pollution via the extend function. Rated critical severity (CVSS 9.8), this
Same technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-43958
GHSA-p7vf-fh6j-jrm8