CVE-2026-9241CVE-2026-9241是WordPress插件FOX - Currency Switcher Professional for WooCommerce中的一个授权绕过漏洞。该插件用于为WooCommerce商店提供多货币切换功能。漏洞存在于插件的`get_value()`函数中,该函数在处理用户角色验证时存在缺陷。攻击者可以通过构造恶意的请求参数`wooc_order_user_roles`来操控角色上下文,从而绕过正常的权限验证机制。成功利用此漏洞需要攻击者具有至少Subscriber级别的账户权限,这使得攻击门槛相对较低。由于该漏洞仅在启用固定用户角色定价功能且存在配置了特权角色价格的产品时才具有实际影响,因此属于条件性利用漏洞。
漏洞根源在于`classes/fixed/fixed_user_role.php`文件中的`get_value()`函数。该函数直接信任并使用攻击者可控的`$_REQUEST['wooc_order_user_roles']`参数来确定用户的角色上下文,而没有验证该参数的合法性或与当前认证用户的关联性。正常情况下,系统应使用`$user->roles`从用户会话对象中获取用户的真实角色权限。然而,由于代码优先使用了请求参数中的值,攻击者可以传入任意角色标识(如wholesale_customer或administrator),从而在价格计算时获得该角色的权限加成。这允许攻击者获取批发价格、管理员专属折扣或其他受限定价。漏洞利用的关键在于WordPress的角色检查机制可能被绕过,因为角色值是从请求中直接读取而非从经过验证的会话对象中获取。