{"id":"CVE-2026-116224","kind":"vulnerability","aliases":["CVE-2026-116224"],"related":[],"title":"benotes: bookmark metadata endpoint allows server-side request forgery","description":"A vulnerability has been found in fr0tt benotes up to 2.8.1. This affects the function getUrlInfo of the file app/Http/Controllers/PostController.php of the component Bookmark Metadata Endpoint. The manipulation of the argument url leads to server-side request forgery. The attack may be initiated remotely. The exploit has been disclosed to the public and may be used. The project was informed of the problem early through an issue report but has not responded yet.","summary":"The getUrlInfo function in benotes (up to 2.8.1) fetches a URL supplied by the user without restricting the target. A remote attacker can make the server send requests to internal addresses on its behalf.","severity":"medium","cvss":4.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["laravel","package","php","self-hosted"],"not_affected_if":["default-config"],"how_to_check":"- Check the installed benotes version; versions up to and including `2.8.1` are affected.\n- Look in `app/Http/Controllers/PostController.php` for the `getUrlInfo` function and whether it validates the `url` argument.","fix":null,"status":"open","published_at":"2026-10-26T07:17:09+00:00","first_seen_at":"2026-10-26T07:28:50+00:00","triaged_at":"2026-10-26T07:29:58+00:00","updated_at":"2026-10-26T07:29:58+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-26T07:29:58Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"benotes: bookmark metadata endpoint allows server-side request forgery","impact":"medium","summary":"The getUrlInfo function in benotes (up to 2.8.1) fetches a URL supplied by the user without restricting the target. A remote attacker can make the server send requests to internal addresses on its behalf.","category":"package","nicknames":[],"who_cares":["self-hosted","php","laravel"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Attacker reaches internal services through the server, possibly reading responses.","analyst_note":"No fix or patched version is published and the maintainer has not responded; check the NVD entry and the project repository for a fixed release and whether authentication is required for the endpoint.","how_to_check":"- Check the installed benotes version; versions up to and including `2.8.1` are affected.\n- Look in `app/Http/Controllers/PostController.php` for the `getUrlInfo` function and whether it validates the `url` argument.","needs_analyst":true,"not_affected_if":["default-config"],"who_is_affected":"Teams that self-host benotes up to version 2.8.1 and expose the bookmark metadata endpoint are exposed. Servers on a private network with internal services reachable from the app are the most at risk. Teams on a version later than 2.8.1 or without this endpoint can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000592,"input_tokens":3355,"output_tokens":512,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-116224':13A,16A '-2026':12A,15A '2.8.1':30B,67C 'address':53B 'affect':69C 'allow':5A 'app/http/controllers/postcontroller.php':76C 'argument':87C 'attack':44B,97C 'behalf':56B 'benot':1A,27B,64C 'bookmark':2A,80C 'compon':79C 'cve':11A,14A 'disclos':106C 'earli':121C 'endpoint':4A,82C 'exploit':103C 'fetch':31B 'file':75C 'forgeri':10A,95C 'found':61C 'fr0tt':63C 'function':25B,71C 'geturlinfo':24B,72C 'host':22B 'inform':117C 'initi':100C 'intern':52B 'issu':124C 'laravel':17B 'lead':89C 'make':46B 'manipul':84C 'may':98C,111C 'metadata':3A,81C 'packag':18B 'php':19B 'problem':120C 'project':115C 'public':109C 'remot':43B,101C 'report':125C 'request':9A,50B,94C 'respond':129C 'restrict':39B 'self':21B 'self-host':20B 'send':49B 'server':7A,48B,92C 'server-sid':6A,91C 'side':8A,93C 'suppli':34B 'target':41B 'url':33B,88C 'use':113C 'user':37B 'vulner':58C 'without':38B 'yet':130C","nicknames":[],"mitigations":[],"who_affected":"Teams that self-host benotes up to version 2.8.1 and expose the bookmark metadata endpoint are exposed. Servers on a private network with internal services reachable from the app are the most at risk. Teams on a version later than 2.8.1 or without this endpoint can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-26T07:17:09+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"cna@vuldb.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116224","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116224","severity":null,"published_at":"2026-10-26T07:17:09+00:00","modified_at":"2026-10-26T07:17:09+00:00","first_seen_at":"2026-10-26T07:28:50+00:00","fetched_at":"2026-10-26T07:28:50+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}