CVE-2026-45116: MyBB: Profile field type confusion XSS

Published Aug 18, 2026
·
Updated

MyBB is free and open source forum software. Prior to 1.8.40, the user datahandler does not properly validate checkbox and multiselect profile field types, resulting in stored JavaScript code injection. UserDataHandler::verifyprofilefields() only performs the specialized validation when isarray($profilefields[$field]) is true. A non-array profilefields[fidX] value instead of the expected profilefields[fidX][] shape falls through to generic text handling and is stored without verification. The affected value is then rendered directly by member.php and inc/functionspost.php rather than processed by the MyCode parser. The uniquely identifying implementation details include inc/datahandlers/user.php. This issue is fixed in version 1.8.40.

Affected Software

1 affected component
MyBB MyBB<1.8.40

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade MyBB to a version that resolves this vulnerability.

    Fixed in 1.8.40

Event History

Aug 18, 2026
CVE Published
via MITRE·03:46 PM
Data Sourced
via MITRE·03:46 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which installations are affected?

MyBB installations running versions earlier than 1.8.40 are affected when they use checkbox or multiselect custom profile fields. Version 1.8.40 contains the fix.

2

What does an attacker need to exploit this?

An attacker needs a MyBB account with permission to submit or update profile field data and must persuade a victim to view a page that renders the affected profile-field value. The attack can be delivered over the network with low complexity, but requires user interaction from the victim.

3

What should I do if I cannot patch immediately?

Upgrade MyBB to version 1.8.40. If an immediate upgrade is not possible, identify checkbox and multiselect profile fields and review stored values for unexpected non-array submissions or JavaScript content, especially values rendered through member.php or inc/functions_post.php.

4

How can I check for possible exploitation?

Review custom checkbox and multiselect profile-field records for values that do not match the expected profile_fields[fidX][] array form and for embedded JavaScript. The vulnerable validation path accepts a non-array profile_fields[fidX] value as generic text and stores it without the specialized validation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203