Web Application
CVE-2026-71271 high CVSS 8.5

Memos' webhook URL validation, isReservedIP() (internal/webhook/validate.go), checks a candidate...

Summary

SSRF reported (CVE-2026-71271). Confidential information can be exposed externally.

Original description

The description as published by the source.

Memos' webhook URL validation, isReservedIP (internal/webhook/validate.go), checks a candidate IP against a reservedCIDRs list that omits 0.0.0.0/8 and never calls ip.IsUnspecified — unlike the correctly implemented sibling function isInternalIP in internal/httpgetter/html_meta.go, which does.

Source: NIST National Vulnerability Database NVD GitHub Advisory

AI summary

Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.

Memosのwebhook URLバリデーションでは、予約されたCIDRリストが0.0.0.0/8を省略しているため、攻撃者がwebhook URLとしてhttp://0.0.0.0:PORT/を登録することで、このバリデーションを回避可能です。これにより、Memosサーバーが自分自身のループバックインターフェイスに外向きHTTPリクエストを行い、内部専用のサービスが露出されるリスクがあります。

❓ What is the problem

Memosのwebhook URLバリデーションの脆弱性。

📍 Affected scope

内部/webhook/validate.goのisReservedIP()関数。

🔥 Severity

攻撃者が内部サービスを露出させる可能性があるため、深刻。

🔧 How to fix

isReservedIP()関数にて0.0.0.0/8を含むように、ip.IsUnspecified()を呼び出して予約IPチェックを拡充する。

🛡️ Workaround

不要なwebhook URLの登録を管理画面で制限する。

🔍 Detection

0.0.0.0を使用したwebhook URLの登録履歴を監視する。

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details