MuhammaraJS: Unchecked Return Value to NULL Pointer Dereference
CVE-2022-41957 is a high-severity unchecked return value to NULL pointer dereference vulnerability in MuhammaraJS from Julianhille, with a CVSS 3.1 base score of 7.5 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected MuhammaraJS versions: < 2.6.2; >= 3.0.0, < 3.4.0. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 1.15% chance of exploitation within 30 days, higher than 67% of scored CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Muhammara to 2.6.2 or 3.3.0, whichever matches your release line, or a later version.
- Read the advisory on github.com for workarounds and exact fixed builds.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Julianhille | MuhammaraJS | < 2.6.2; >= 3.0.0, < 3.4.0 | Not stated |
| Muhammara Project | Muhammara | before 2.6.2; 3.0.0 up to, but not including, 3.3.0 | 2.6.2, 3.3.0 |
| Hummus Project | Hummus | Not specified in the record | Not stated |
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
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- NoneNo data is disclosed.
- Integrity
- NoneNothing can be modified.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 7.5 | High | CNA (github.com) |
| CVSS 3.1 | 7.5 | High | NVD |
Official description
Muhammara is a node module with c/cpp bindings to modify PDF with JavaScript for node or electron. The package muhammara before 2.6.2 and from 3.0.0 and before 3.3.0, as well as all versions of muhammara's predecessor package hummus, are vulnerable to Denial of Service (DoS) when supplied with a maliciously crafted PDF file to be parsed. The issue has been patched in muhammara version 3.4.0 and the fix has been backported to version 2.6.2. As a workaround, do not process files from untrusted sources. If using hummus, replace the package with muhammara.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Unchecked Return Value to NULL Pointer Dereference
The product does not check for an error after calling a function that can return with a NULL pointer if the function fails, which leads to a resultant NULL pointer dereference.
More Unchecked Return Value to NULL Pointer Dereference vulnerabilities (CWE-690)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Advisories
- github.com/julianhille/MuhammaraJS/security/advisories/GHSA-2r7v-cmch-5x26Third Party Advisory
Patches and release notes
- github.com/julianhille/MuhammaraJS/pull/235Issue Tracking, Third Party Advisory
- github.com/julianhille/MuhammaraJS/pull/238Issue Tracking, Third Party Advisory
Other vulnerabilities in MuhammaraJS
- 7.5 High severity
Spotted an error? Tell us.