Every CVE Search/ Get API key

CVE-2026-4300

Robo Gallery <= 5.1.3 - Authenticated (Author+) Stored Cross-Site Scripting via 'Loading Label' Setting

6.4 Medium

The Robo Gallery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'Loading Label' setting in all versions up to, and including, 5.1.3. The plugin uses a custom |***...***| marker pattern in its fixJsFunction() method to embed raw JavaScript function references within JSON-encoded configuration objects. When a gallery's options are rendered on the frontend, json_encode() wraps all string values in double quotes. The fixJsFunction() method then strips the "|*** and ***|" sequences, effectively converting a JSON string value into raw JavaScript code. The Loading Label field (stored as rbs_gallery_LoadingWord post_meta) is an rbstext type field that is sanitized with sanitize_text_field() on save. While this strips HTML tags, it does not strip the |***...***| markers since they contain no HTML. When a user inputs |***alert(document.domain)***|, the value passes through sanitization intact, is stored in post_meta, and is later retrieved and output within an inline <script> tag via renderMainBlock() with the quote markers stripped — resulting in arbitrary JavaScript execution. The gallery post type uses capability_type => 'post', allowing Author-level users to create galleries. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses a page containing the gallery shortcode.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
None

Exploit likelihood

0.44%Up 0.4 points since Apr 8, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.4

Robo Gallery <= 5.1.3 - Authenticated (Author+) Stored Cross-Site Scripting via 'Loading Label' Setting

The Robo Gallery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'Loading Label' setting in all versions up to, and including, 5.1.3. The plugin uses a custom |***...***| marker pattern in its fixJsFunction() method to embed raw JavaScript function references within JSON-encoded configuration objects. When a gallery's options are rendered on the frontend, json_encode() wraps all string values in double quotes. The fixJsFunction() method then strips the "|*** and ***|" sequences, effectively converting a JSON string value into raw JavaScript code. The Loading Label field (stored as rbs_gallery_LoadingWord post_meta) is an rbstext type field that is sanitized with sanitize_text_field() on save. While this strips HTML tags, it does not strip the |***...***| markers since they contain no HTML. When a user inputs |***alert(document.domain)***|, the value passes through sanitization intact, is stored in post_meta, and is later retrieved and output within an inline <script> tag via renderMainBlock() with the quote markers stripped — resulting in arbitrary JavaScript execution. The gallery post type uses capability_type => 'post', allowing Author-level users to create galleries. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses a page containing the gallery shortcode.

Record
CVE-2026-4300
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-20435 6.4

The Robo Gallery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'Loading Label' setting in all versions up to, and including, 5.1.3. The plugin uses a custom |***...***| marker pattern in its fixJsFunction() method to embed raw JavaScript function references within JSON-encoded configuration objects. When a gallery's options are rendered on the frontend, json_encode() wraps all string values in double quotes. The fixJsFunction() method then strips the "|*** and ***|" sequences, effectively converting a JSON string value into raw JavaScript code. The Loading Label field (stored as rbs_gallery_LoadingWord post_meta) is an rbstext type field that is sanitized with sanitize_text_field() on save. While this strips HTML tags, it does not strip the |***...***| markers since they contain no HTML. When a user inputs |***alert(document.domain)***|, the value passes through sanitization intact, is stored in post_meta, and is later retrieved and output within an inline <script> tag via renderMainBlock() with the quote markers stripped — resulting in arbitrary JavaScript execution. The gallery post type uses capability_type => 'post', allowing Author-level users to create galleries. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses a page containing the gallery shortcode.

Record
EUVD-2026-20435
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-f324-cf3c-hqgv 6.4

The Robo Gallery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the ...

The Robo Gallery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'Loading Label' setting in all versions up to, and including, 5.1.3. The plugin uses a custom |***...***| marker pattern in its fixJsFunction() method to embed raw JavaScript function references within JSON-encoded configuration objects. When a gallery's options are rendered on the frontend, json_encode() wraps all string values in double quotes. The fixJsFunction() method then strips the "|*** and ***|" sequences, effectively converting a JSON string value into raw JavaScript code. The Loading Label field (stored as rbs_gallery_LoadingWord post_meta) is an rbstext type field that is sanitized with sanitize_text_field() on save. While this strips HTML tags, it does not strip the |***...***| markers since they contain no HTML. When a user inputs |***alert(document.domain)***|, the value passes through sanitization intact, is stored in post_meta, and is later retrieved and output within an inline <script> tag via renderMainBlock() with the quote markers stripped — resulting in arbitrary JavaScript execution. The gallery post type uses capability_type => 'post', allowing Author-level users to create galleries. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses a page containing the gallery shortcode.

Record
GHSA-f324-cf3c-hqgv
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
NVD 6.4

The Robo Gallery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'Loading Label' setting in all versions up to, and including, 5.1.3. The plugin uses a custom |***...***| marker pattern in its fixJsFunction() method to embed raw JavaScript function references within JSON-encoded configuration objects. When a gallery's options are rendered on the frontend, json_encode() wraps all string values in double quotes. The fixJsFunction() method then strips the "|*** and ***|" sequences, effectively converting a JSON string value into raw JavaScript code. The Loading Label field (stored as rbs_gallery_LoadingWord post_meta) is an rbstext type field that is sanitized with sanitize_text_field() on save. While this strips HTML tags, it does not strip the |***...***| markers since they contain no HTML. When a user inputs |***alert(document.domain)***|, the value passes through sanitization intact, is stored in post_meta, and is later retrieved and output within an inline <script> tag via renderMainBlock() with the quote markers stripped — resulting in arbitrary JavaScript execution. The gallery post type uses capability_type => 'post', allowing Author-level users to create galleries. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses a page containing the gallery shortcode.

Record
CVE-2026-4300
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02

Affected products

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-4300 is a medium vulnerability (CVSS 6.4) in Robosoft Robo Gallery – Photo & Image Slider, published April 8, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.44%, the 38th percentile. No source names a fixed version.

References

Show 6 moreShow less
MoveEnter Open