CVE-2024-10186

Published
View on NVD ↗
CVSS v3
6.4
MEDIUM
CVSS v2
N/A
Affected
1
PROJECT

Description

The Event post plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's events_cal shortcode in all versions up to, and including, 5.9.6 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

<p>Adds some meta-data to posts to convert them into full calendar events.<br /> Each event can be exported into ical(.ics), outlook(vcs), or Google Calendar.<br /> Geolocation works thanks to openstreetmap.</p> <p>It can also fetch the weather, but doesn&#8217;t bring the sun 🙂</p> <p>Follow <a href="https://twitter.com/wpeventpost" rel="nofollow ugc">@wpeventpost</a> on Twitter for latest news.</p> <p>Examples on <a href="https://event-post.com/?mtm_campaign=wp-plugin&amp;mtm_kwd=event-post&amp;mtm_medium=wp.org" rel="nofollow ugc">event-post.com</a></p> <h3>Post metas</h3> <p><strong>Date attributes</strong></p> <ul> <li>Begin Date</li> <li>End Date</li> <li>Color</li> <li>Event Status</li> <li>Event Attendance Mode</li> </ul> <p><strong>Location attributes</strong></p> <ul> <li>Address</li> <li>GPS coordinates</li> <li>Event Virtual Location</li> </ul> <p><strong>WooCommerce compliant</strong></p> <p>You can enable event features on Woocommerce products. The event will be displayed on the product page. Moreover, the product price will be displayed in event list, calendar, map and timeline.</p> <p>This, way, you can sell tickets for your events, effortlessly and without any additional plugin.</p> <p><strong>Weather attribute</strong> (for a given location and date if possible)</p> <ul> <li>Weather <ul> <li>Temperature</li> <li>Weather</li> </ul></li> </ul> <h3>Usage</h3> <p><a href="https://event-post.com/docs/event-post/?mtm_campaign=wp-plugin&amp;mtm_kwd=event-post&amp;mtm_medium=wp.org" rel="nofollow ugc">Plugins/themes developpers documentation</a></p> <h3>Blocks &amp; Shortcodes</h3> <p>The plugin comes with several blocks/shortcodes which allows to:</p> <ul> <li><code>[events_list]</code>: display a list of events</li> <li><code>[events_map]</code>: display a map of events</li> <li><code>[events_cal]</code>: display a calendar of events</li> <li><code>[event_details]</code>: display a detail of the current event</li> <li><code>[event_term]</code>: display the date range of a given term based on all events it contains</li> </ul> <h3>[events_list]</h3> <h4>Query parameters</h4> <ul> <li><strong>nb=5</strong> <em>(number of post, -1 is all, default: 5)</em></li> <li><strong>future=1</strong> <em>(boolean, retrieve, or not, events in the future, default = 1)</em></li> <li><strong>past=0</strong> <em>(boolean, retrieve, or not, events in the past, default = 0)</em></li> <li><strong>cat=&#8221;</strong> <em>(string, select posts only from the selected category, default=null, for all categories)</em></li> <li><strong>tag=&#8221;</strong> <em>(string, select posts only from the selected tag, default=null, for all tags)</em></li> <li><strong>tax_name=&#8221;</strong> <em>(string, custom taxonomy name)</em></li> <li><strong>tax_term=&#8221;</strong> <em>(string, the term for above taxonomy)</em></li> <li><strong>geo=0</strong> <em>(boolean, retreives or not, only events which have geolocation informations, default=0)</em></li> <li><strong>order=&#8221;ASC&#8221;</strong> <em>(string (can be &#8220;ASC&#8221; or &#8220;DESC&#8221;)</em></li> <li><strong>orderby=&#8221;meta_value&#8221;</strong> <em>(string (if set to &#8220;meta_value&#8221; events are sorted by event date, possible values are native posts fields : &#8220;post_title&#8221;,&#8221;post_date&#8221; etc&#8230;)</em></li> </ul> <h4>Display parameters</h4> <ul> <li><strong>thumbnail=&#8221;</strong> <em>(Bool, default:false, used to display posts thumbnails)</em></li> <li><strong>thumbnail_size=&#8221;</strong> <em>(String, default:&#8221;thmbnail&#8221;, can be set to any existing size : &#8220;medium&#8221;,&#8221;large&#8221;,&#8221;full&#8221; etc&#8230;)</em></li> <li><strong>excerpt=&#8221;</strong> <em>(Bool, default:false, used to display posts excerpts)</em></li> <li><strong>style=&#8221;</strong> <em>(String, add some inline CSS to the list wrapper)</em></li> <li><strong>type=&#8221;div&#8221;</strong> <em>(string, possible values are : div, ul, ol default=div)</em></li> <li><strong>title=&#8221;</strong> <em>(string, hidden if no events is found)</em></li> <li><strong>before_title='&lt;h3&gt;&#8217;</strong> <em>(string (default &lt;h3&gt;)</em></li> <li><strong>after_title='&lt;/h3&gt;&#8217;</strong> <em>(string (default &lt;/h3&gt;)</em></li> <li><strong>container_schema=&#8221;</strong> <em>(string html schema to display list)</em></li> <li><strong>item_schema=&#8221;</strong> <em>(string html schema to display item)</em></li> </ul> <p>example:</p> <pre><code>&lt;!-- wp:eventpost/list {"nb":10,"future":true,"past":true,"thumbnail":false,"excerpt":false,"pages":true} /--&gt; [events_list future=1 past=1 cat="actuality" nb=10] </code></pre> <p>container_schema default value:</p> <blockquote> <p>&lt;%type% class=&#8221;event_loop %id% %class%&#8221; id=&#8221;%listid%&#8221; style=&#8221;%style%&#8221; %attributes%&gt;<br /> %list%<br /> &lt;/%type%&gt;</p> </blockquote> <p>item_schema default value:</p> <blockquote> <p>&lt;%child% class=&#8221;event_item %class%&#8221; data-color=&#8221;%color%&#8221;&gt;<br /> &lt;a href=&#8221;%event_link%&#8221;&gt;<br /> %event_thumbnail%<br /> &lt;h5&gt;%event_title%&lt;/h5&gt;<br /> &lt;/a&gt;<br /> %event_date%<br /> %event_cat%<br /> %event_location%<br /> %event_excerpt%<br /> &lt;/%child%&gt;</p> </blockquote> <h3>[events_map]</h3> <ul> <li><strong>nb=5</strong> <em>(number of post, -1 is all, default: 5)</em></li> <li><strong>future=1</strong> <em>(boolean, retreive, or not, events in the future, default = 1)</em></li> <li><strong>past=0</strong> <em>(boolean, retreive, or not, events in the past, default = 0)</em></li> <li><strong>cat=&#8221;</strong> <em>(string, select posts only from the selected category, default=null, for all categories)</em></li> <li><strong>tag=&#8221;</strong> <em>(string, select posts only from the selected tag, default=null, for all tags)</em></li> <li><strong>tax_name=&#8221;</strong> <em>(string, custom taxonomy name)</em></li> <li><strong>tax_term=&#8221;</strong> <em>(string, the term for above taxonomy)</em></li> <li><strong>tile=&#8221;</strong> <em>(string ([email protected], OpenCycleMap, mapquest, osmfr, 2u, satelite, toner), sets the map background, [email protected])</em></li> <li><strong>title=&#8221;</strong> <em>(string (default)</em></li> <li><strong>zoom=&#8221;</strong> <em>(number or empty (default, means fit to points)</em></li> <li><strong>before_title='&lt;h3&gt;&#8217;;</strong> <em>(string (default &lt;h3&gt;)</em></li> <li><strong>after_title='&lt;/h3&gt;&#8217;</strong> *(string (default &lt;/h3&gt;)**</li> <li><strong>thumbnail=&#8221;</strong> * (Bool, default:false, used to display posts thumbnails)*</li> <li><strong>excerpt=&#8221;</strong> <em>(Bool, default:false, used to display posts excerpts)</em></li> <li><strong>list=&#8221;</strong> <em>(String (&#8220;false&#8221;, &#8220;above&#8221;, &#8220;below&#8221;, &#8220;right&#8221;, &#8220;left&#8221;) default: &#8220;false&#8221;, Display a list of posts)</em></li> </ul> <p>example:</p> <pre><code>&lt;!-- wp:eventpost/map {"nb":-1,"future":true,"past":true,"tile":"toner","list":"below","map_position":false,"disable_mousewheelzoom":true} /--&gt; [events_map future=1 past=1 cat="actuality" nb="-1"] </code></pre> <h3>[events_cal]</h3> <ul> <li><strong>cat=&#8221;</strong> <em>(string, select posts only from the selected category, default=null, for all categories)</em></li> <li><strong>date=&#8221;</strong> <em>(string, date for a month. Absolutly : 2013-9 or relatively : -1 month, default is empty, current month</em></li> <li><strong>datepicker=1</strong> <em>(boolean, displays or not a date picker)</em></li> <li><strong>mondayfirst=0</strong> <em>(boolean, weeks start on monday, default is 0 (sunday)</em></li> <li><strong>display_title=0</strong> <em>(boolean, displays or not events title under the day number)</em></li> <li><strong>tax_name=&#8221;</strong> <em>(string, custom taxonomy name)</em></li> <li><strong>tax_term=&#8221;</strong> <em>(string, the term for above taxonomy)</em></li> </ul> <p>example:</p> <pre><code>&lt;!-- wp:eventpost/calendar {"date":"-2 months","color":true,"display_title":true,"mondayfirst":"1","choose":false} /--&gt; [events_cal cat="actuality" date="-2 months" mondayfirst=1 display_title=1] </code></pre> <h3>[event_details]</h3> <ul> <li><p><strong>attribute</strong> <em>string (date, start, end, address, location). The default value is NULL and displays the full event bar</em></p> <p>[event_details attribute=&#8221;address&#8221;]</p></li> </ul> <h3>Hooks</h3> <p><a></a></p> <h4>Filters</h4> <ul> <li>eventpost_add_custom_box_position</li> <li>event_post_class_calendar_link</li> <li>eventpost_columns_head</li> <li>eventpost_contentbar</li> <li>eventpost_default_list_shema</li> <li>eventpost_get</li> <li>eventpost_get_items</li> <li>eventpost_get_post_types</li> <li>eventpost_get_single</li> <li>eventpost_getsettings</li> <li>eventpost_item_scheme_entities</li> <li>eventpost_item_scheme_values</li> <li>eventpost_list_shema</li> <li>eventpost_listevents</li> <li>eventpost_maps</li> <li>eventpost_multisite_get</li> <li>eventpost_multisite_blogids</li> <li>eventpost_params</li> <li>eventpost_printdate</li> <li>eventpost_printlocation</li> <li>eventpost_bulk_edit_fields</li> <li>eventpost_quick_edit_fields</li> <li>eventpost_retreive</li> <li>event-post-rich-result</li> <li>eventpost_shortcode_slug</li> </ul> <h4>Actions</h4> <ul> <li>evenpost_init</li> <li>eventpost_add_custom_box</li> <li>eventpost_custom_box_date</li> <li>eventpost_custom_box_loc</li> <li>after_eventpost_generator</li> <li>eventpost_getsettings</li> <li>eventpost_settings_form</li> <li>eventpost_after_settings_form</li> </ul>
WordPress Plugin DirectoryWordPress Plugin Directory
84.7K