{"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 Memos' webhook URL validation where it fails to check for the unspecified IP address (0.0.0.0/8), potentially allowing unauthorized access. This matters because it can lead to security breaches if exploited.","exploitability":"Exploitation is moderately hard as it requires identifying and leveraging the omission of 0.0.0.0/8 in validation, but preconditions include having knowledge of the system's internal IP handling.","blast_radius":"If exploited, this could lead to unauthorized access or manipulation of internal systems through webhooks, with significant impact on data integrity and security.","remediation":"Update the isReservedIP function to include a check for 0.0.0.0/8 and ensure consistency with other validation functions like isInternalIP.","tags":["validation","ip-check","webhook","security"],"model":"qwen2.5:7b-instruct","analyzedAt":"2026-08-11T06:48:29.522Z"}}