{"schemaVersion":3,"id":"CVE-2026-77164","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"Circles' remote-instance signature verification fetches the attacker-supplied keyId URL before trust in the remote instance is established, and explicitly allows local/private addresses for this request, bypassing Nextcloud's core SSRF protections. The public, unauthenticated endpoints POST /apps/circles/event/ and POST /apps/circles/incoming/ reach this code path, allowing any unauthenticated user to force the server to issue a GET request to an internal address.\n\nThe response body of the internal request is never returned to the requester, so this is blind SSRF: an attacker can determine whether an internal service is reachable, but cannot read its response contents through this endpoint alone.","dates":{"published":"2026-09-18T01:26:04.650Z","modified":"2026-09-18T19:41:07.400Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.2,"severity":"medium","version":"3.0","versionLabel":"v3.0","source":"CVE.org","vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.0","versionLabel":"v3.0","source":"CVE.org","score":6.2,"severity":"medium","vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.0","versionLabel":"v3.0","source":"NVD","score":6.2,"severity":"medium","vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00189,"percentile":0.08007,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0.06299999999999999,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.00126},"history":[{"date":"2026-09-18T00:00:00.000Z","score":0.00126,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00126,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00126,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00126,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00126,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00132,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00189,"percentile":0.08007}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.00126,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00126,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00126,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00126,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00132,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00189,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00189,"percentile":0.08007}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-918","name":"Server-Side Request Forgery (SSRF)","description":"The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/918.html"}],"affected":[{"vendor":"nextcloud","product":"server","name":"server","label":"server","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 31.0.0, ≤ 32.0.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 31.0.0, ≤ 32.0.0","eol":null,"hubHref":"/vendor/nextcloud/server"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://hackerone.com/reports/3303283","label":"hackerone.com/reports/3303283","hostname":"hackerone.com","tags":[]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-09-18T01:26:04.650Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-18T19:41:07.400Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":25,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T21:29:48.032Z","stale":false,"partial":false}}