8.7 HIGH
- CVSS version (CVSS): 4.0
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Attack Requirement (AT): None (N)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Vulnerable System Impact Confidentiality (VC): None (N)
- Vulnerable System Impact Integrity (VI): None (N)
- Vulnerable System Impact Availability (VA): High (H)
- Subsequent System Impact Confidentiality (SC): None (N)
- Subsequent System Impact Integrity (SI): None (N)
- Subsequent System Impact Availability (SA): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Attack Requirement (MAT): None (N)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Vulnerable System Impact Confidentiality (MVC): None (N)
- Modified Vulnerable System Impact Integrity (MVI): None (N)
- Modified Vulnerable System Impact Availability (MVA): High (H)
- Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
- Modified Subsequent System Impact Integrity (MSI): Negligible (N)
- Modified Subsequent System Impact Availability (MSA): Negligible (N)
- Safety (S): Not Defined (X)
- Automatable (AU): Not Defined (X)
- Recovery (R): Not Defined (X)
- Value Density (V): Not Defined (X)
- Vulnerability Response Effort (RE): Not Defined (X)
- Provider Urgency (U): Not Defined (X)
- Confidentiality Req. (CR): Not Defined (X)
- Integrity Req. (IR): Not Defined (X)
- Availability Req. (AR): Not Defined (X)
- Exploit Maturity (E): Not Defined (X)
by @LeSuisse Activity log
- Created suggestion
-
@LeSuisse
ignored
16 packages
- fracjson
- luaPackages.cjson
- lua51Packages.cjson
- lua52Packages.cjson
- lua53Packages.cjson
- lua54Packages.cjson
- lua55Packages.cjson
- luajitPackages.cjson
- luaPackages.lua-cjson
- lua51Packages.lua-cjson
- lua52Packages.lua-cjson
- lua53Packages.lua-cjson
- lua54Packages.lua-cjson
- lua55Packages.lua-cjson
- luajitPackages.lua-cjson
- chickenPackages_5.chickenEggs.cjson
- @LeSuisse accepted
- @LeSuisse published on GitHub
cJSON JSON Patch copy/add Uncontrolled Recursion Stack Exhaustion
cJSON through 1.7.19 is vulnerable to uncontrolled recursion leading to stack exhaustion when an untrusted RFC 6902 JSON Patch is applied via cJSONUtils_ApplyPatches() or cJSONUtils_ApplyPatchesCaseSensitive(). A patch containing add and copy operations grafts duplicated subtrees to amplify document depth beyond the parser's nesting limit: cJSON_Delete() recurses with no depth bound, and the cJSON_Duplicate() guard CJSON_CIRCULAR_LIMIT is set to 10000, ten times the parser's 1000-level nesting limit and high enough to overflow a default thread stack. An attacker who can supply the patch document can crash the process, resulting in denial of service.
References
-
cJSON_Delete unbounded recursion (cJSON.c) technical-description
-
apply_patch copy/add duplicate-and-graft (cJSON_Utils.c) technical-description
Affected products
- =<1.7.19
Matching in nixpkgs
Ignored packages (16)
pkgs.fracjson
JSON formatter that produces compact, highly readable output
pkgs.luaPackages.cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua51Packages.cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua52Packages.cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua53Packages.cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua54Packages.cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua55Packages.cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.luajitPackages.cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.luaPackages.lua-cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua51Packages.lua-cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua52Packages.lua-cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua53Packages.lua-cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua54Packages.lua-cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.lua55Packages.lua-cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
pkgs.luajitPackages.lua-cjson
A fast JSON encoding/parsing module
-
nixos-unstable 2.1.0.10-1
- nixpkgs-unstable 2.1.0.10-1
- nixos-unstable-small 2.1.0.10-1
-
nixos-26.05 2.1.0.10-1
- nixos-26.05-small 2.1.0.10-1
- nixpkgs-26.05-darwin 2.1.0.10-1
Package maintainers
-
@matthiasbeyer Matthias Beyer <mail@beyermatthias.de>