Improper Handling of Exceptional Conditions in detect-character-encoding
High severity
GitHub Reviewed
Published
Aug 24, 2021
in
sonicdoe/detect-character-encoding
•
Updated Feb 1, 2023
Description
Reviewed
Aug 24, 2021
Published by the National Vulnerability Database
Aug 24, 2021
Published to the GitHub Advisory Database
Aug 25, 2021
Last updated
Feb 1, 2023
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
printf "\xAA" | curl --request POST --header "Content-Type: application/octet-stream" --data-binary @- http://localhost:3000
crashes the server.References