{"id":"CVE-2026-119175","kind":"vulnerability","aliases":["CVE-2026-119175"],"related":[],"title":"Flying Images WordPress plugin: stored cross-site scripting through comments","description":"The Flying Images: Optimize and Lazy Load Images for Faster Page Speed plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'comment' parameter in all versions up to, and including, 2.4.15 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. A first-time commenter's submission requires a single administrator approval under the default comment_previously_approved setting; however, once approved, all subsequent comments from the same name and email pair bypass moderation, and the injected script executes for every visitor — including administrators viewing the post from the front end.","summary":"The Flying Images image optimization and lazy-loading plugin for WordPress does not sanitize the comment field, so an unauthenticated visitor can store a script in a comment. The script runs in the browser of anyone who views the page, including administrators.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["flying-images","package","self-hosted","wordpress"],"not_affected_if":["comments-disabled","plugin-newer-than-2.4.15","plugin-not-installed"],"how_to_check":"- Check whether the plugin is installed and its version in the WordPress admin under Plugins, or in `wp-content/plugins/` (look for the Flying Images plugin's version header)\n- Confirm whether the installed version is `2.4.15` or older","fix":"- Flying Images plugin: a fixed version is not stated in the sources; update to the latest release available from WordPress.org once published","status":"open","published_at":"2026-11-07T03:17:01+00:00","first_seen_at":"2026-11-07T03:45:33+00:00","triaged_at":"2026-11-07T03:47:49+00:00","updated_at":"2026-11-07T03:47:49+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-07T03:47:49Z","model":"claude-haiku-5-5","output":{"fix":"- Flying Images plugin: a fixed version is not stated in the sources; update to the latest release available from WordPress.org once published","reach":"internet","title":"Flying Images WordPress plugin: stored cross-site scripting through comments","impact":"medium","summary":"The Flying Images image optimization and lazy-loading plugin for WordPress does not sanitize the comment field, so an unauthenticated visitor can store a script in a comment. The script runs in the browser of anyone who views the page, including administrators.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","self-hosted","flying-images"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker script runs in admin browsers, enabling admin session takeover","analyst_note":"Confirm the fixed version and vendor advisory from the Wordfence or WordPress.org entry for the plugin; NVD source gave no fix version.","how_to_check":"- Check whether the plugin is installed and its version in the WordPress admin under Plugins, or in `wp-content/plugins/` (look for the Flying Images plugin's version header)\n- Confirm whether the installed version is `2.4.15` or older","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","comments-disabled","plugin-newer-than-2.4.15"],"who_is_affected":"Sites running the Flying Images plugin at version 2.4.15 or older where comments are enabled. Exposure is greatest when a first-time commenter is approved once, because later comments from the same name and email then skip moderation. Sites without the plugin or with comments disabled can skip it.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000744,"input_tokens":4372,"output_tokens":614,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-119175':14A,17A '-2026':13A,16A '2.4.15':103C 'access':132C 'administr':68B,146C,179C 'anyon':62B 'approv':147C,153C,157C 'arbitrari':121C 'attack':118C 'browser':60B 'bypass':168C 'comment':11A,42B,54B,94C,140C,151C,160C 'cross':7A,89C 'cross-sit':6A,88C 'cve':12A,15A 'default':150C 'due':104C 'email':166C 'end':186C 'escap':111C 'everi':176C 'execut':128C,174C 'faster':78C 'field':43B 'first':138C 'first-tim':137C 'fli':1A,19B,27B,70C 'flying-imag':18B 'front':185C 'host':24B 'howev':155C 'imag':2A,20B,28B,29B,71C,76C 'includ':67B,102C,178C 'inject':120C,134C,172C 'input':107C 'insuffici':106C 'lazi':33B,74C 'lazy-load':32B 'load':34B,75C 'make':113C 'moder':169C 'name':164C 'optim':30B,72C 'output':110C 'packag':21B 'page':66B,79C,125C,135C 'pair':167C 'paramet':95C 'plugin':4A,35B,81C 'possibl':115C 'post':182C 'previous':152C 'requir':143C 'run':57B 'sanit':40B,108C 'script':9A,51B,56B,91C,123C,173C 'self':23B 'self-host':22B 'set':154C 'singl':145C 'site':8A,90C 'speed':80C 'store':5A,49B,87C 'submiss':142C 'subsequ':159C 'time':139C 'unauthent':46B,117C 'user':131C 'version':98C 'via':92C 'view':64B,180C 'visitor':47B,177C 'vulner':85C 'web':122C 'whenev':129C 'wordpress':3A,25B,37B,83C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Flying Images plugin at version 2.4.15 or older where comments are enabled. Exposure is greatest when a first-time commenter is approved once, because later comments from the same name and email then skip moderation. Sites without the plugin or with comments disabled can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["flyingimages","high","package","selfhosted","wordpress"],"campaign_type":null,"search_a":"'-119175':14A,17A '-2026':13A,16A 'comment':11A 'cross':7A 'cross-sit':6A 'cve':12A,15A 'fli':1A 'imag':2A 'plugin':4A 'script':9A 'site':8A 'store':5A 'wordpress':3A","search_b":"'administr':68B 'anyon':62B 'browser':60B 'comment':42B,54B 'field':43B 'fli':19B,27B 'flying-imag':18B 'host':24B 'imag':20B,28B,29B 'includ':67B 'lazi':33B 'lazy-load':32B 'load':34B 'optim':30B 'packag':21B 'page':66B 'plugin':35B 'run':57B 'sanit':40B 'script':51B,56B 'self':23B 'self-host':22B 'store':49B 'unauthent':46B 'view':64B 'visitor':47B 'wordpress':25B,37B","search_c":"'2.4.15':103C 'access':132C 'administr':146C,179C 'approv':147C,153C,157C 'arbitrari':121C 'attack':118C 'bypass':168C 'comment':94C,140C,151C,160C 'cross':89C 'cross-sit':88C 'default':150C 'due':104C 'email':166C 'end':186C 'escap':111C 'everi':176C 'execut':128C,174C 'faster':78C 'first':138C 'first-tim':137C 'fli':70C 'front':185C 'howev':155C 'imag':71C,76C 'includ':102C,178C 'inject':120C,134C,172C 'input':107C 'insuffici':106C 'lazi':74C 'load':75C 'make':113C 'moder':169C 'name':164C 'optim':72C 'output':110C 'page':79C,125C,135C 'pair':167C 'paramet':95C 'plugin':81C 'possibl':115C 'post':182C 'previous':152C 'requir':143C 'sanit':108C 'script':91C,123C,173C 'set':154C 'singl':145C 'site':90C 'speed':80C 'store':87C 'submiss':142C 'subsequ':159C 'time':139C 'unauthent':117C 'user':131C 'version':98C 'via':92C 'view':180C 'visitor':177C 'vulner':85C 'web':122C 'whenev':129C 'wordpress':83C","first_public_at":"2026-11-07T03:17:01+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-119175","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119175","severity":null,"published_at":"2026-11-07T03:17:01+00:00","modified_at":"2026-11-07T03:17:01+00:00","first_seen_at":"2026-11-07T03:45:33+00:00","fetched_at":"2026-11-07T03:45:33+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}