製品・ソフトウェアに関する情報
TheCodingMachineのGotenbergにおけるサーバサイドのリクエストフォージェリの脆弱性
Title TheCodingMachineのGotenbergにおけるサーバサイドのリクエストフォージェリの脆弱性
Summary

GotenbergはAPIベースのドキュメント変換ツールです。バージョン8.29.1において、ネットワークアクセス権を持つ認証されていない攻撃者が、Gotenberg-Webhook-Urlリクエストヘッダーに細工されたURLを指定することで、任意の内部または外部の宛先に対してサーバーにHTTP POSTリクエストを送信させることが可能でした。filter.goのFilterDeadline関数は送信先URLを制御する目的で用いられていますが、許可リストと拒否リストの両方が空の場合(デフォルト設定)、無条件にnilを返し、すべてのURLを許可してしまいます。この問題はブラインドSSRFの脆弱性であり、Gotenbergは変換したドキュメントをWebhook URLにPOSTし、レスポンスのステータスコードがエラーかどうかだけを確認していますが、ターゲットのレスポンスボディは攻撃者に返しません。攻撃者はこれを利用して、エラーハンドラが呼ばれるかどうかを観察することで内部ネットワークインフラを調査し、副作用を持つ内部サービスに対してPOSTリクエストを強制し、クラウドのメタデータエンドポイントへの到達性を確認できます。リトライ可能なHTTPクライアントは1リクエストあたり最大4回の自動リトライを実行するため、調査を増幅します。この問題はバージョン8.31.0で修正されました。回避策として、GOTENBERG_API_WEBHOOK_ALLOW_LIST環境変数を設定してWebhook URLを既知の受信先に制限するか、GOTENBERG_API_WEBHOOK_DENY_LISTを設定してRFC-1918およびリンクローカルアドレス範囲をブロックしてください。

Possible impacts 当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 
Solution

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date May 5, 2026, midnight
Registration Date May 11, 2026, 11:10 a.m.
Last Update May 11, 2026, 11:10 a.m.
CVSS3.0 : 重要
Score 7.2
Vector CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Affected System
TheCodingMachine
Gotenberg 8.29.1 以上 8.31.0 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
No Changed Details Date of change
1 [2026年05月11日]
  掲載
May 11, 2026, 11:10 a.m.

NVD Vulnerability Information
CVE-2026-39383
Summary

Gotenberg is an API-based document conversion tool. In version 8.29.1, an unauthenticated attacker with network access can force the server to make outbound HTTP POST requests to arbitrary internal or external destinations by supplying a crafted URL in the Gotenberg-Webhook-Url request header. The FilterDeadline function in filter.go is intended to gate outbound URLs, but when both the allow-list and deny-list are empty (the default configuration), it returns nil unconditionally and permits any URL.

This is a blind SSRF: Gotenberg POSTs the converted document to the webhook URL and only checks whether the response status code is an error, but never returns the target's response body to the attacker. An attacker can use this to probe internal network infrastructure by observing whether the error callback is invoked, force POST requests against internal services that perform side effects, and confirm reachability of cloud metadata endpoints. The retryable HTTP client issues up to 4 automatic retries per request, amplifying each probe.

This issue has been fixed in version 8.31.0. As a workaround, configure the GOTENBERG_API_WEBHOOK_ALLOW_LIST environment variable to restrict webhook URLs to known receivers, or set GOTENBERG_API_WEBHOOK_DENY_LIST to block RFC-1918 and link-local address ranges.

Publication Date May 6, 2026, 6:16 a.m.
Registration Date May 7, 2026, 4:07 a.m.
Last Update May 9, 2026, 4:02 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:thecodingmachine:gotenberg:*:*:*:*:*:*:*:* 8.29.1 8.31.0
Related information, measures and tools
Common Vulnerabilities List