jq: Access of Resource Using Incompatible Type
CVE-2024-53427 is a high-severity access of resource using incompatible type vulnerability in jq from Jqlang, with a CVSS 3.1 base score of 8.1 out of 10. It can be exploited with local access to the system by an unauthenticated attacker, without any action from a user. Affected jq versions: 1.7.1 and earlier. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 0.39% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Check which version of jq you run against the affected versions below, and install the vendor's latest release.
- Read the advisory on github.com for workarounds and exact fixed builds.
Affected products and versions
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- LocalThe attacker needs local access or must trick a user into running something.
- Attack complexity
- HighSuccess depends on conditions outside the attacker's control.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- ChangedThe attack can reach beyond the vulnerable component into other systems.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H. Scored by CNA (mitre.org).
Official description
decNumberCopy in decNumber.c in jq through 1.7.1 does not properly consider that NaN is interpreted as numeric, which has a resultant stack-based buffer overflow and out-of-bounds write, as demonstrated by use of --slurp with subtraction, such as a filter of .-. when the input has a certain form of digit string with NaN (e.g., "1 NaN123" immediately followed by many more digits).
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Access of Resource Using Incompatible Type
The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type.
More Access of Resource Using Incompatible Type vulnerabilities (CWE-843)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: poc, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Advisories
- github.com/jqlang/jq/issues/3196Exploit, Issue Tracking
- github.com/jqlang/jq/issues/3296Issue Tracking
- github.com/jqlang/jq/security/advisories/GHSA-x6c3-qv5r-7q22
Third-party and government advisories
- gist.github.com/Ekkosun/a83870ce7f3b7813b9b462a395e8ad92Third Party Advisory
Other references
Other vulnerabilities in jq
- 7.1 High severity
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
Recent Access of Resource Using Incompatible Type vulnerabilities
- 7.3 High severity
- 7.3 High severity
- 9.8 Critical severity
- 7.7 High severity
- 8.0 High severity
- 7.5 High severity
Spotted an error? Tell us.