Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more

Magnus Rahl
Aug 16, 2023
  3074
(3 votes)

XSS vulnerability in CMS 11 and 12

Introduction

A potential security vulnerability was detected for Optimizely CMS that could affect CMS 11 installations before v11.37.1 and CMS 12 installations before v12.16.0.  

  • In a CMS 11 installation where request validation has been disabled, the vulnerability allows execution of JavaScript included in a manipulated URL. This allows the possibility to run arbitrary JavaScript code in the context of the logged in user.
  • In a CMS 12 installation, the vulnerability allows execution of JavaScript included in a manipulated URL.

Example attack

In CMS 11, when the request validation has been either completely or partially disabled by configuring requestValidationMode in the applications web.config file, harmful requests are allowed to reach the application.

An attacker provides a manipulated URL that includes harmful JavaScript code that a user can interact with. After successful authentication and authorization, the supplied JavaScript is executed in the context of the browser, the web application, and the permissions of the user. The attack is only possible for authenticated users and in installations where request validation is completely or partially disabled.

Risk

Overall, the risk of the vulnerability is low-medium. The attack is possible for only authenticated users and requires user interaction to execute. The issue was fixed in CMS v11.37.1 (CMS-28190) and CMS v12.16.0 (CMS-26236). Mitigation is in place for all DXP service customers.

Remediation

  • If using CMS 11, please update Optimizely CMS to the latest version.
  • If using CMS 12, please update to the latest version.
  • As a general best practice, it is recommended to restrict the number of users with admin privileges.

Questions

Please contact the security engineering team at securityeng@optimizely.com.

Risk definitions

Low – little to no potential impact on Optimizely or customer environments/data. Vulnerability has low exploitability, for example: requirement for local or physical system access, zero reachability to/executability within Optimizely products/code.

Medium – some potential impact on Optimizely or customer environments/data. Vulnerability has medium exploitability, for example: requirement to be located on the same local network as the target, requirement for an individual to be manipulated via social engineering, requirement for user privileges, vulnerability achieves limited access to Optimizely products/code.

High – high potential impact on Optimizely or customer environments/data.  Vulnerability has high exploitability, for example:  achieves high level access to Optimizely products/code, could elevate privileges, could result in a significant data loss or downtime.

Critical – very significant potential impact on Optimizely or customer environments/data.  Vulnerability has very high exploitability, for example: achieves admin/root-level access to Optimizely products/code.  Vulnerability does not require any special authentication credentials/knowledge of Optimizely products/environments. 

Aug 16, 2023

Comments

Please login to comment.
Latest blogs
Transitioning to Application Insights Connection Strings: Essential Insights for Optimizely CMS

Transitioning to Application Insights Connection Strings: Essential Insights for Optimizely CMS As part of Microsoft's ongoing modernization effort...

Stefan Johansson | Mar 27, 2025

Save The Date - London 2025 Summer Meetup

Following last years very succesful meetup in London July 2024 https://world.optimizely.com/blogs/scott-reed/dates/2024/7/optimizely-london-dev-mee...

Scott Reed | Mar 25, 2025

Revalidate Page in Next.js after Publishing Content in Headless Optimizely PaaS CMS.

Headless CMS implementations are becoming increasingly popular. In this approach, the CMS and the front-end application are decoupled and can use...

Tomek Juranek | Mar 25, 2025

Getting 404 when expecting 401

A short story about the mysterious behavior of an API in headless architecture.

Damian Smutek | Mar 25, 2025 |