CVE-2021-39176 – detect-character-encoding
Package
Manager: npm
Name: detect-character-encoding
Vulnerable Version: >=0 <0.3.1
Severity
Level: High
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
EPSS: 0.00615 pctl0.68959
Details
Missing Release of Memory after Effective Lifetime in detect-character-encoding ### Impact In detect-character-encoding v0.3.0 and earlier, allocated memory is not released. ### Patches The problem has been patched in [detect-character-encoding v0.3.1](https://github.com/sonicdoe/detect-character-encoding/releases/tag/v0.3.1). ### CVSS score [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/RL:O/RC:C](https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/RL:O/RC:C) Base Score: 7.5 (High) Temporal Score: 7.2 (High) Since detect-character-encoding is a library, the scoring is based on the “[reasonable worst-case implementation scenario](https://www.first.org/cvss/v3.1/user-guide#3-7-Scoring-Vulnerabilities-in-Software-Libraries-and-Similar)”, namely, using detect-character-encoding in a program accessible over the internet which becomes unavailable when running out of memory. Depending on your specific implementation, the vulnerability’s severity in your program may be different. ### Proof of concept ```js const express = require("express"); const detectCharacterEncoding = require("detect-character-encoding"); const app = express(); app.get("/", (req, res) => { detectCharacterEncoding(Buffer.from("foo")); res.end(); }); app.listen(3000); ``` `hey -n 1000000 http://localhost:3000` ([`hey`](https://github.com/rakyll/hey)) causes the Node.js process to consume more and more memory. ### References - https://github.com/sonicdoe/detect-character-encoding/commit/d44356927b92e3b13e178071bf6d7c671766f588 - https://github.com/sonicdoe/detect-character-encoding/pull/6
Metadata
Created: 2021-09-01T18:25:16Z
Modified: 2021-10-21T14:28:07Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/09/GHSA-5rwj-j5m3-3chj/GHSA-5rwj-j5m3-3chj.json
CWE IDs: ["CWE-401"]
Alternative ID: GHSA-5rwj-j5m3-3chj
Finding: F067
Auto approve: 1