CVE-2026-107701 in dot-accessinfo

Summary

by MITRE • 10/08/2026

dot-access through 1.0.0 contains a prototype pollution vulnerability that allows attackers to modify Object.prototype by supplying a crafted dotted path to set(). Attackers controlling the path, such as through user-supplied field names, can use __proto__ segments to inject properties into all objects, altering authorization flags and option defaults or crashing the process.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 10/08/2026

The vulnerability identified in dot-access versions 1.0.0 represents a critical prototype pollution flaw that stems from improper handling of object property assignment through dotted path notation. This issue arises when the library processes user-supplied input to set properties on an object without adequately sanitizing or validating the keys involved in the operation. Specifically, if an attacker can control the key names passed to the set function, they can exploit JavaScript's prototype chain mechanism by injecting special property names such as _proto_. In standard JavaScript environments, assigning a value to Object.prototype._proto_ effectively modifies the prototype of all subsequently created objects within that execution context, leading to widespread state corruption.

From a technical perspective, this vulnerability is classified under CWE-1321: Improperly Controlled Modification of Dynamically-Determined Object Attributes and aligns with MITRE ATT&CK technique T1559.001, which involves Inter-Process or In-Process Communication via Shared Memory in the context of JavaScript object manipulation. The core technical flaw lies in the recursive traversal logic used to parse dotted paths. When a path contains _proto_, the implementation fails to distinguish between legitimate nested property access and attempts to modify the global prototype chain. This allows an attacker to inject arbitrary properties into Object.prototype, which are then inherited by all objects created after the injection occurs within the same event loop or scope.

The operational impact of this vulnerability is severe and multifaceted. By polluting the object prototype, attackers can alter default configurations for libraries that rely on specific property values being absent or set to particular defaults. For instance, if a security middleware checks for an authorization flag like isAdmin, an attacker could inject this property with a value of true into Object.prototype, thereby granting unauthorized administrative access to any user session created after the pollution event. Furthermore, injecting complex objects or circular references can cause runtime errors that crash the Node.js process, resulting in a denial-of-service condition. This lack of availability affects not only the immediate application but potentially other services running on the same server if they share the same JavaScript execution environment and object pool.

Mitigation strategies must focus on preventing prototype pollution at both the library level and the application integration layer. The most effective solution is to upgrade dot-access to a patched version that explicitly checks for _proto_, constructor, or prototype keys during path parsing and rejects them or treats them as literal property names rather than prototype modifiers. Alternatively, developers can implement defensive coding practices by using Object.create(null) to create objects without prototypes when processing untrusted input, thereby breaking the inheritance chain that enables this attack vector. Additionally, integrating static analysis tools that detect potential prototype pollution patterns during development and enforcing strict schema validation on all user-supplied fields before they are passed to object manipulation functions can significantly reduce the risk surface associated with dynamic property assignment in JavaScript applications.

Responsible

VulnCheck

Reservation

10/08/2026

Disclosure

10/08/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!