{"id":"CVE-2026-111824","kind":"vulnerability","aliases":["CVE-2026-111824"],"related":[],"title":"Apache Roller: uploaded theme media runs scripts in visitors' browsers","description":"Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in Apache Roller 6.1.6 allows an authenticated user with the Author role on a weblog that uses a custom theme to store script that runs in the browser of anyone who opens the file's resource URL. The fix for CVE-2026-82387 serves uploaded media as a download unless it is an image, audio, video, PDF or plain text, but media files found through a custom theme were served with the type their path implies, and the upload form let the uploader choose that path. Media uploads are disabled by default. Users are recommended to upgrade to Apache Roller 6.1.7 or later, which serves these files under the same rules as other media and no longer accepts the path from the upload form.","summary":"An author on a weblog using a custom theme can upload a file whose served type lets it run script when anyone opens its resource URL. That script runs in the browser of every visitor who opens the file, which is cross-site scripting.","severity":"medium","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["apache-roller","java","other","self-hosted"],"not_affected_if":["default-config","media-uploads-disabled","no-custom-theme"],"how_to_check":"- Check the Apache Roller version with the installed release file or the `roller` package version; affected is `6.1.6`.\n- Check whether media uploads are enabled in the Roller configuration; they are disabled by default.\n- Check whether any weblog uses a custom theme with media files.","fix":"- Apache Roller: upgrade to `6.1.7` or later, as the sources recommend.","status":"open","published_at":"2026-11-11T13:17:13+00:00","first_seen_at":"2026-11-11T13:27:11+00:00","triaged_at":"2026-11-11T13:30:06+00:00","updated_at":"2026-11-11T13:30:06+00:00","category":"other","confidence":0.7,"triage":{"at":"2026-11-11T13:30:06Z","model":"claude-haiku-5-5","output":{"fix":"- Apache Roller: upgrade to `6.1.7` or later, as the sources recommend.","reach":"internet","title":"Apache Roller: uploaded theme media runs scripts in visitors' browsers","impact":"medium","summary":"An author on a weblog using a custom theme can upload a file whose served type lets it run script when anyone opens its resource URL. That script runs in the browser of every visitor who opens the file, which is cross-site scripting.","audience":"businesses","category":"other","nicknames":[],"who_cares":["apache-roller","self-hosted","java"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"Script runs in visitors' browsers, exposing their sessions and actions","analyst_note":"","how_to_check":"- Check the Apache Roller version with the installed release file or the `roller` package version; affected is `6.1.6`.\n- Check whether media uploads are enabled in the Roller configuration; they are disabled by default.\n- Check whether any weblog uses a custom theme with media files.","plain_action":"","product_name":"apache-roller","needs_analyst":false,"not_affected_if":["media-uploads-disabled","default-config","no-custom-theme"],"who_is_affected":"Only Apache Roller 6.1.6 installations where media uploads are enabled and weblogs use custom themes are exposed. The attacker needs an Author account on such a weblog, and the risk is to visitors who open the uploaded file. Installations with media uploads disabled, the default, are not described as affected by the sources.","user_interaction":"yes","product_ecosystem":"vendor","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000762,"input_tokens":4699,"output_tokens":584,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-111824':13A,16A '-2026':12A,15A,123C '-82387':124C '6.1.6':85C '6.1.7':182C 'accept':199C 'allow':86C 'anyon':46B,111C 'apach':1A,18B,83C,180C 'apache-rol':17B 'audio':136C 'authent':88C 'author':26B,92C 'browser':10A,56B,109C 'choos':165C 'cross':67B,79C 'cross-sit':66B,78C 'custom':32B,100C,148C 'cve':11A,14A,122C 'default':173C 'disabl':171C 'download':130C 'everi':58B 'file':37B,63B,115C,144C,188C 'fix':120C 'form':161C,205C 'found':145C 'generat':77C 'host':24B 'imag':135C 'impli':157C 'improp':70C 'input':73C 'java':20B 'later':184C 'let':41B,162C 'longer':198C 'media':5A,127C,143C,168C,195C 'neutral':71C 'open':47B,61B,113C 'page':76C 'path':156C,167C,201C 'pdf':138C 'plain':140C 'recommend':176C 'resourc':49B,117C 'role':93C 'roller':2A,19B,84C,181C 'rule':192C 'run':6A,43B,53B,106C 'script':7A,44B,52B,69B,81C,104C 'self':23B 'self-host':22B 'serv':39B,125C,151C,186C 'site':68B,80C 'store':103C 'text':141C 'theme':4A,33B,101C,149C 'type':40B,154C 'unless':131C 'upgrad':178C 'upload':3A,35B,126C,160C,164C,169C,204C 'url':50B,118C 'use':30B,98C 'user':89C,174C 'video':137C 'visitor':9A,59B 'web':75C 'weblog':29B,96C 'whose':38B","nicknames":[],"mitigations":[],"who_affected":"Only Apache Roller 6.1.6 installations where media uploads are enabled and weblogs use custom themes are exposed. The attacker needs an Author account on such a weblog, and the risk is to visitors who open the uploaded file. Installations with media uploads disabled, the default, are not described as affected by the sources.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["apacheroller","java","medium","other","selfhosted"],"campaign_type":null,"search_a":"'-111824':13A,16A '-2026':12A,15A 'apach':1A 'browser':10A 'cve':11A,14A 'media':5A 'roller':2A 'run':6A 'script':7A 'theme':4A 'upload':3A 'visitor':9A","search_b":"'anyon':46B 'apach':18B 'apache-rol':17B 'author':26B 'browser':56B 'cross':67B 'cross-sit':66B 'custom':32B 'everi':58B 'file':37B,63B 'host':24B 'java':20B 'let':41B 'open':47B,61B 'resourc':49B 'roller':19B 'run':43B,53B 'script':44B,52B,69B 'self':23B 'self-host':22B 'serv':39B 'site':68B 'theme':33B 'type':40B 'upload':35B 'url':50B 'use':30B 'visitor':59B 'weblog':29B 'whose':38B","search_c":"'-2026':123C '-82387':124C '6.1.6':85C '6.1.7':182C 'accept':199C 'allow':86C 'anyon':111C 'apach':83C,180C 'audio':136C 'authent':88C 'author':92C 'browser':109C 'choos':165C 'cross':79C 'cross-sit':78C 'custom':100C,148C 'cve':122C 'default':173C 'disabl':171C 'download':130C 'file':115C,144C,188C 'fix':120C 'form':161C,205C 'found':145C 'generat':77C 'imag':135C 'impli':157C 'improp':70C 'input':73C 'later':184C 'let':162C 'longer':198C 'media':127C,143C,168C,195C 'neutral':71C 'open':113C 'page':76C 'path':156C,167C,201C 'pdf':138C 'plain':140C 'recommend':176C 'resourc':117C 'role':93C 'roller':84C,181C 'rule':192C 'run':106C 'script':81C,104C 'serv':125C,151C,186C 'site':80C 'store':103C 'text':141C 'theme':101C,149C 'type':154C 'unless':131C 'upgrad':178C 'upload':126C,160C,164C,169C,204C 'url':118C 'use':98C 'user':89C,174C 'video':137C 'web':75C 'weblog':96C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-11T13:17:13+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111824","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111824","severity":null,"published_at":"2026-11-11T13:17:13+00:00","modified_at":"2026-11-11T13:17:13+00:00","first_seen_at":"2026-11-11T13:27:11+00:00","fetched_at":"2026-11-11T13:27:11+00:00","note":null}],"documents":[],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}