{"id":"CVE-2026-71271","published":"2026-08-05T13:24:51.447","lastModified":"2026-08-10T12:17:29.587","description":"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.","cvssScore":8.5,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N","cwes":["CWE-918"],"vendors":[],"products":[],"references":[{"url":"https://github.com/usememos/memos","tags":[]},{"url":"https://github.com/usememos/memos/blob/main/internal/webhook/validate.go","tags":[]}],"exploitRefs":[{"url":"https://github.com/usememos/memos","tags":[]},{"url":"https://github.com/usememos/memos/blob/main/internal/webhook/validate.go","tags":[]}],"hasPoc":true,"ai":{"summary":"The flaw lies in the webhook URL validation function, where the IP validation is incomplete, potentially allowing external IPs to be accepted, which could lead to unauthorized access or misuse.","exploitability":"Exploitation is moderately hard as it requires crafting a request with a non-reserved IP that bypasses the validation, but preconditions include access to the webhook endpoint.","blast_radius":"If exploited, this could result in unauthorized access to internal systems or data, impacting the integrity and confidentiality of the affected network.","remediation":"Upgrade to the fixed version 2.590 or later, which addresses the incomplete IP validation issue.","detection":"No reliable host or network indicator is derivable from the published description.","tags":["auth-bypass","web","internal-network"],"model":"qwen2.5:7b-instruct","analyzedAt":"2026-10-02T08:49:47.413Z"}}