Vulnerabilities |
5 via 5 paths |
|---|---|
Dependencies |
124 |
Source |
GitHub |
Find, fix and prevent vulnerabilities in your code.
high severity
- Vulnerable module: http-cache-semantics
- Introduced through: libxmljs2@0.37.0
Detailed paths
-
Introduced through: @zaptic-external/saml@Zaptic/saml › libxmljs2@0.37.0 › node-gyp@11.5.0 › make-fetch-happen@14.0.3 › http-cache-semantics@4.3.0
Overview
Affected versions of this package are vulnerable to Improper Authorization via improper validation of security-zeroed cache entries when processing client max-stale directives. An unauthenticated attacker can request the same URL with a large max-stale value to retrieve cached responses belonging to other users, including Set-Cookie session credentials from shared-cache entries that were deliberately zeroed for security reasons.
Remediation
There is no fixed version for http-cache-semantics.
References
high severity
- Vulnerable module: http-cache-semantics
- Introduced through: libxmljs2@0.37.0
Detailed paths
-
Introduced through: @zaptic-external/saml@Zaptic/saml › libxmljs2@0.37.0 › node-gyp@11.5.0 › make-fetch-happen@14.0.3 › http-cache-semantics@4.3.0
Overview
Affected versions of this package are vulnerable to Origin Validation Error via the _varyMatches() function, which fails to properly handle Vary: * (wildcard) headers due to byte-for-byte string comparison. An attacker can request URLs previously fetched by other clients to receive cached responses intended for different users, disclosing sensitive information across clients. The Vary: * directive signals that a response is uncacheable for any other request, but the flawed comparison allows the wildcard to be bypassed, enabling cross-client cache disclosure.
Remediation
There is no fixed version for http-cache-semantics.
References
high severity
- Vulnerable module: libxmljs2
- Introduced through: libxmljs2@0.37.0
Detailed paths
-
Introduced through: @zaptic-external/saml@Zaptic/saml › libxmljs2@0.37.0
Overview
libxmljs2 is a libxml bindings for v8 javascript engine
Affected versions of this package are vulnerable to Type Confusion due to the improper handling of a specially crafted XML file. An attacker can cause a denial of service, data leak, infinite loop, or execute arbitrary code by invoking a function on the result of attrs() that was called on a parsed node.
PoC
const libxmljs2 = require('libxmljs2');
var d = `<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note
[
<!ENTITY writer `" + 'A'.repeat(0x1234) + `">
]>
<from>&writer;</from>
`;
t = libxmljs2.parseXml(d, {flags: [libxmljs2.XMLParseFlags.XML_PARSE_HUGE]})
from = t.get('//from')
c = from.childNodes()[0]
c2 = c.childNodes()[0]
c2_attrs = c2.attrs()
Remediation
There is no fixed version for libxmljs2.
References
high severity
- Vulnerable module: libxmljs2
- Introduced through: libxmljs2@0.37.0
Detailed paths
-
Introduced through: @zaptic-external/saml@Zaptic/saml › libxmljs2@0.37.0
Overview
libxmljs2 is a libxml bindings for v8 javascript engine
Affected versions of this package are vulnerable to Type Confusion when parsing a specially crafted XML while invoking the namespaces() function (which invokes XmlNode::get_local_namespaces()) on a grand-child of a node that refers to an entity.
Exploiting this vulnerability leads to an RCE, data leak DoS on 64-bit and 32-bit systems.
PoC
const libxmljs2 = require('libxmljs2');
var d = `<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note
[
<!ENTITY writer PUBLIC "` + "A".repeat(8) + "B".repeat(8) + "C".repeat(8) + "D".repeat(8) + "P".repeat(8) + `" "JFrog Security">
]>
<from>&writer;</from>
`;
t = libxmljs2.parseXml(d)
from = t.get('//from')
c = from.childNodes()[0]
c2 = c.childNodes()[0] //entity_decl
n = c2.namespaces(true) //onlyLocal = true
Remediation
There is no fixed version for libxmljs2.
References
medium severity
new
- Vulnerable module: minimatch
- Introduced through: libxmljs2@0.37.0
Detailed paths
-
Introduced through: @zaptic-external/saml@Zaptic/saml › libxmljs2@0.37.0 › node-gyp@11.5.0 › make-fetch-happen@14.0.3 › cacache@19.0.1 › glob@10.5.0 › minimatch@9.0.9
Overview
minimatch is a minimal matching utility.
Affected versions of this package are vulnerable to Asymmetric Resource Consumption (Amplification) in the firstPhasePreProcess method, where the **/.. transform clones a globParts entry and pushes the clone back onto the same array inside a do...while (didSomething) fixpoint loop. An attacker can exhaust CPU and memory by supplying a glob pattern whose **/.. sequences regenerate entries during preprocessing, which secondPhasePreProcess then compares in an O(n^2) pairwise partsMatch pass over the expanded set. Exploitation requires the pattern to be parsed with optimizationLevel set to 2 or higher.
Remediation
Upgrade minimatch to version 11.0.1 or higher.