VYPR
Unrated severityNVD Advisory· Published Jun 18, 2026

Orbit Fox: Duplicate Page, Menu Icons, SVG Support, Cookie Notice, Custom Fonts & More <= 3.0.6 - Authenticated (Administrator+) Stored Cross-Site Scripting via 'menu-item-icon' Parameter

CVE-2026-11358

Description

The Orbit Fox: Duplicate Page, Menu Icons, SVG Support, Cookie Notice, Custom Fonts & More plugin for WordPress is vulnerable to Stored Cross-Site Scripting via admin settings in all versions up to, and including, 3.0.6 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with administrator-level permissions and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This only affects multi-site installations and installations where unfiltered_html has been disabled.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

1

Patches

Vulnerability mechanics

Root cause

"Missing output escaping on the menu icon value in the `show_menu()` method allows stored cross-site scripting."

Attack vector

An authenticated attacker with administrator-level permissions can inject arbitrary JavaScript into a menu item's icon field via the WordPress menu editor. The `save_fields()` method [ref_id=1] applies `sanitize_text_field()` which strips some characters but does not prevent script injection. When the menu is rendered on the front end, the `show_menu()` method [ref_id=1] outputs the unsanitized icon value directly into the menu title via `sprintf()`, causing the stored script to execute in any visitor's browser. The advisory notes this only affects multi-site installations and installations where `unfiltered_html` has been disabled.

Affected code

The vulnerability resides in the `show_menu()` method of the `Menu_Icons_OBFX_Module` class in `obfx_modules/menu-icons/init.php`. The `$icon` value retrieved from `get_post_meta( $menu->ID, 'obfx_menu_icon', true )` is used unsanitized in a `sprintf()` call that constructs the menu title, allowing stored XSS. The `save_fields()` method applies `sanitize_text_field()` on save, but the output in `show_menu()` is never escaped for HTML context.

What the fix does

The patch is not included in the bundle; however, comparing the vulnerable code in version 3.0.6 [ref_id=1] with version 3.0.5 [ref_id=2] shows no change to the `show_menu()` method, indicating the vulnerability exists in both versions. The advisory states the fix requires proper output escaping in the `show_menu()` method — the `$icon` value should be passed through `esc_attr()` or `esc_html()` before being interpolated into the HTML title string. Without a patch diff, the exact remediation cannot be confirmed, but the root cause is the missing escaping on the `$icon` output.

Preconditions

  • authAttacker must have administrator-level permissions on a WordPress multi-site installation or an installation where unfiltered_html is disabled.
  • configThe site must be using the Orbit Fox plugin with the Menu Icons module enabled.
  • inputThe attacker must have access to the WordPress menu editor (nav-menus.php) to set a malicious icon value.

Generated on Jun 18, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

6

News mentions

0

No linked articles in our index yet.