{"id":"CVE-2026-118537","kind":"vulnerability","aliases":["CVE-2026-118537"],"related":[],"title":"a2ui: unvalidated url argument in Image/Video/Audio player component","description":"A vulnerability was found in a2ui up to 0.10.4. This vulnerability affects unknown code of the file src/v0_9/basic_catalog/components/Image.js of the component Image Player/Video Player/Audio Player. Performing a manipulation of the argument url results in improper input validation. The attack may be initiated remotely. The pull request to fix this issue awaits acceptance.","summary":"The a2ui library up to version 0.10.4 does not properly validate the url argument in its Image, Player, Video Player and Audio Player component (src/v0_9/basic_catalog/components/Image.js). An attacker can supply a crafted url value remotely, and the sources do not say what the resulting impact is beyond improper input validation.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["a2ui","javascript","package","web-frontend"],"not_affected_if":["a2ui-not-used","hardcoded-media-urls"],"how_to_check":"- Check the installed a2ui version with `npm ls a2ui` or in package.json, and treat anything at or below `0.10.4` as affected.\n- Look for the v0_9 basic_catalog Image component in your bundle or source (src/v0_9/basic_catalog/components/Image.js).","fix":"- No fixed version is stated in the sources; a pull request to fix the issue was awaiting acceptance at the time of the report, so unknown.\n- Until a fixed release exists, validate or allowlist the url values passed to the Image, Video or Audio player components on your side.","status":"open","published_at":"2026-10-28T22:17:12+00:00","first_seen_at":"2026-10-28T22:35:34+00:00","triaged_at":"2026-10-28T22:37:03+00:00","updated_at":"2026-10-28T22:37:03+00:00","category":"package","confidence":0.4,"triage":{"at":"2026-10-28T22:37:03Z","model":"claude-haiku-5-5","output":{"fix":"- No fixed version is stated in the sources; a pull request to fix the issue was awaiting acceptance at the time of the report, so unknown.\n- Until a fixed release exists, validate or allowlist the url values passed to the Image, Video or Audio player components on your side.","reach":"internet","title":"a2ui: unvalidated url argument in Image/Video/Audio player component","impact":"medium","summary":"The a2ui library up to version 0.10.4 does not properly validate the url argument in its Image, Player, Video Player and Audio Player component (src/v0_9/basic_catalog/components/Image.js). An attacker can supply a crafted url value remotely, and the sources do not say what the resulting impact is beyond improper input validation.","category":"package","nicknames":[],"who_cares":["a2ui","javascript","web-frontend"],"confidence":0.4,"needs_auth":"unknown","worst_case":"unknown; sources only report improper input validation","analyst_note":"Find the fixed a2ui release or merged pull request, and confirm what the unvalidated url allows (for example XSS or SSRF) from https://nvd.nist.gov/vuln/detail/CVE-2026-118537.","how_to_check":"- Check the installed a2ui version with `npm ls a2ui` or in package.json, and treat anything at or below `0.10.4` as affected.\n- Look for the v0_9 basic_catalog Image component in your bundle or source (src/v0_9/basic_catalog/components/Image.js).","needs_analyst":true,"not_affected_if":["hardcoded-media-urls","a2ui-not-used"],"who_is_affected":"Teams that render a2ui player or media components with a url value that comes from users or other untrusted input are the ones exposed. Applications that only render hardcoded or server-controlled media URLs are less exposed. The sources do not say which deployments are most at risk.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000674,"input_tokens":3328,"output_tokens":682,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-118537':11A,14A '-2026':10A,13A '0.10.4':27B,78C 'a2ui':1A,15B,22B,75C 'accept':121C 'affect':81C 'argument':4A,34B,100C 'attack':47B,108C 'audio':42B 'await':120C 'beyond':66B 'code':83C 'compon':8A,44B,90C 'craft':51B 'cve':9A,12A 'file':86C 'fix':117C 'found':73C 'frontend':20B 'imag':37B,91C 'image/video/audio':6A 'impact':64B 'improp':67B,104C 'initi':111C 'input':68B,105C 'issu':119C 'javascript':16B 'librari':23B 'manipul':97C 'may':109C 'packag':17B 'perform':95C 'player':7A,38B,40B,43B,94C 'player/audio':93C 'player/video':92C 'proper':30B 'pull':114C 'remot':54B,112C 'request':115C 'result':63B,102C 'say':60B 'sourc':57B 'src/v0_9/basic_catalog/components/image.js':45B,87C 'suppli':49B 'unknown':82C 'unvalid':2A 'url':3A,33B,52B,101C 'valid':31B,69B,106C 'valu':53B 'version':26B 'video':39B 'vulner':71C,80C 'web':19B 'web-frontend':18B","nicknames":[],"mitigations":[],"who_affected":"Teams that render a2ui player or media components with a url value that comes from users or other untrusted input are the ones exposed. Applications that only render hardcoded or server-controlled media URLs are less exposed. The sources do not say which deployments are most at risk.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T22:17:12+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/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-118537","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118537","severity":null,"published_at":"2026-10-28T22:17:12+00:00","modified_at":"2026-10-28T22:17:12+00:00","first_seen_at":"2026-10-28T22:35:34+00:00","fetched_at":"2026-10-28T22:35:34+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"}