CVE-2021-41183
Medium · 6.5CVSS
6.5
EPSS
8.5%
Published
Oct 26, 2021
CISA due date
—
Cloudanix analysis
A problem in certain web server software can let attackers run harmful code inside visitors' browsers when they load affected pages.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Other
- Component
- Library
- Class
- XSS
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
The flaw permits arbitrary JavaScript execution in the browser context when jQuery methods process specially crafted HTML containing execution triggers such as image onerror handlers or certain selector patterns.
Why it matters to the business
Compromised user sessions, unauthorized actions performed on behalf of visitors, and potential data theft or site defacement on any web application served through the affected nginx package.
How an attack unfolds
An attacker supplies malicious HTML or selector input to a page using the vulnerable jQuery version bundled in nginx; the library fails to sanitize the payload, resulting in script execution when the DOM is updated.
How to fix it
Upgrade nginx on Alpine v3.16 to version 1.20.2-r2 or later; replace any embedded jQuery with version 3.6.1 or newer and re-test all dynamic content paths.
How to confirm the fix worked
Verify the installed nginx package version matches 1.20.2-r2 or higher; attempt known jQuery XSS proof-of-concept strings against affected endpoints and confirm they are blocked.
Typical attack path
- Locate a web page or endpoint that uses the vulnerable nginx-packaged jQuery
- Craft input containing an XSS trigger such as an img tag with onerror
- Deliver the payload through form fields, URL parameters, or stored content
- Victim browser renders the page and executes attacker-controlled JavaScript
How to detect it
Review web access logs and application logs for requests containing HTML fragments with script, img onerror, or unusual selector patterns; inspect browser console errors or unexpected network calls originating from client-side scripts.
What your security team should do
- Apply the nginx 1.20.2-r2 package update across all Alpine v3.16 deployments
- Audit web applications for direct or transitive use of vulnerable jQuery
- Enable a strict Content-Security-Policy header to limit script sources
- Re-scan after patching to confirm removal of the vulnerable library version
The record
jQuery-UI is the official jQuery user interface library. Prior to version 1.13.0, accepting the value of various `*Text` options of the Datepicker widget from untrusted sources may execute untrusted code. The issue is fixed in jQuery UI 1.13.0. The values passed to various `*Text` options are now always treated as pure text, not HTML. A workaround is to not accept the value of the `*Text` options from untrusted sources.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Maven | org.webjars.npm:jquery-ui | 0 | 1.13.0 |
| NuGet | jQuery.UI.Combined | 0 | 1.13.0 |
| RubyGems | jquery-ui-rails | 0 | 7.0.0 |
| npm | jquery-ui | 0 | 1.13.0 |
| Bitnami | drupal | 7.0.0 | 7.86.0 |
| Bitnami | drush | 7.0.0 | 7.86.0 |
| Debian:10 | jqueryui | 0 | 1.12.1+dfsg-5+deb10u1 |
| Debian:10 | otrs2 | 0 | 6.0.16-2+deb10u1 |
| Debian:11 | jqueryui | 0 | 1.12.1+dfsg-8+deb11u1 |
| Debian:11 | otrs2 | 0 | No fix |
| Debian:12 | jqueryui | 0 | 1.13.0+dfsg-1 |
| Debian:13 | jqueryui | 0 | 1.13.0+dfsg-1 |
| Debian:14 | jqueryui | 0 | 1.13.0+dfsg-1 |
| Debian:9 | drupal7 | 0 | 7.52-2+deb9u17 |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-backend | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-dbscripts | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-health-check-bundler | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-restapi | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-setup | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-setup-base | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-setup-plugin-cinderlib | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-setup-plugin-imageio | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-setup-plugin-ovirt-engine | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-setup-plugin-ovirt-engine-common | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-setup-plugin-vmconsole-proxy-helper | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-setup-plugin-websocket-proxy | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-tools | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-tools-backup | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-ui-extensions | 0 | 0:1.3.3-1.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-vmconsole-proxy-helper | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-webadmin-portal | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-engine-websocket-proxy | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | ovirt-web-ui | 0 | 0:1.8.1-2.el8ev |
| Red Hat:rhev_manager:4.4:el8 | python3-ovirt-engine-lib | 0 | 0:4.5.0.7-0.9.el8ev |
| Red Hat:rhev_manager:4.4:el8 | rhvm | 0 | 0:4.5.0.7-0.9.el8ev |
| SUSE:OpenStack Cloud 9 | ardana-barbican | 0 | 9.0+git.1644879908.8a641c1-3.13.1 |
| SUSE:OpenStack Cloud 9 | grafana | 0 | 6.7.4-3.26.1 |
| SUSE:OpenStack Cloud 9 | openstack-barbican | 0 | 7.0.1~dev24-3.14.1 |
| SUSE:OpenStack Cloud 9 | openstack-cinder | 0 | 13.0.10~dev24-3.34.2 |
| SUSE:OpenStack Cloud 9 | openstack-heat-gbp | 0 | 14.0.1~dev4-3.9.1 |
| SUSE:OpenStack Cloud 9 | openstack-horizon-plugin-gbp-ui | 0 | 14.0.1~dev3-3.9.1 |
| SUSE:OpenStack Cloud 9 | openstack-ironic | 0 | 11.1.5~dev18-3.28.2 |
| SUSE:OpenStack Cloud 9 | openstack-keystone | 0 | 14.2.1~dev9-3.28.2 |
| SUSE:OpenStack Cloud 9 | openstack-neutron | 0 | 13.0.8~dev206-3.40.1 |
| SUSE:OpenStack Cloud 9 | openstack-neutron-gbp | 0 | 14.0.1~dev33-3.31.1 |
| SUSE:OpenStack Cloud 9 | python-Pillow | 0 | 5.2.0-3.17.1 |
| SUSE:OpenStack Cloud 9 | python-XStatic-jquery-ui | 0 | 1.13.0.1-4.3.1 |
| SUSE:OpenStack Cloud 9 | python-lxml | 0 | 4.2.4-3.3.1 |
| SUSE:OpenStack Cloud 9 | release-notes-suse-openstack-cloud | 0 | 9.20220413-3.30.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-barbican | 0 | 7.0.1~dev24-3.35.2 |
| SUSE:OpenStack Cloud 9 | venv-openstack-cinder | 0 | 13.0.10~dev24-3.38.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-designate | 0 | 7.0.2~dev2-3.35.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-glance | 0 | 17.0.1~dev30-3.33.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-heat | 0 | 11.0.4~dev4-3.35.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-horizon | 0 | 14.1.1~dev11-4.39.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-ironic | 0 | 11.1.5~dev18-4.33.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-keystone | 0 | 14.2.1~dev9-3.36.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-magnum | 0 | 7.2.1~dev1-4.35.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-manila | 0 | 7.4.2~dev60-3.41.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-monasca | 0 | 2.7.1~dev10-3.37.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-monasca-ceilometer | 0 | 1.8.2~dev3-3.35.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-neutron | 0 | 13.0.8~dev206-6.39.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-nova | 0 | 18.3.1~dev91-3.39.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-octavia | 0 | 3.2.3~dev7-4.35.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-sahara | 0 | 9.0.2~dev15-3.35.1 |
| SUSE:OpenStack Cloud 9 | venv-openstack-swift | 0 | 2.19.2~dev48-2.30.1 |
| SUSE:OpenStack Cloud Crowbar 9 | grafana | 0 | 6.7.4-3.26.1 |
| SUSE:OpenStack Cloud Crowbar 9 | openstack-barbican | 0 | 7.0.1~dev24-3.14.1 |
| SUSE:OpenStack Cloud Crowbar 9 | openstack-cinder | 0 | 13.0.10~dev24-3.34.2 |
| SUSE:OpenStack Cloud Crowbar 9 | openstack-heat-gbp | 0 | 14.0.1~dev4-3.9.1 |
| SUSE:OpenStack Cloud Crowbar 9 | openstack-horizon-plugin-gbp-ui | 0 | 14.0.1~dev3-3.9.1 |
| SUSE:OpenStack Cloud Crowbar 9 | openstack-ironic | 0 | 11.1.5~dev18-3.28.2 |
| SUSE:OpenStack Cloud Crowbar 9 | openstack-keystone | 0 | 14.2.1~dev9-3.28.2 |
| SUSE:OpenStack Cloud Crowbar 9 | openstack-neutron | 0 | 13.0.8~dev206-3.40.1 |
| SUSE:OpenStack Cloud Crowbar 9 | openstack-neutron-gbp | 0 | 14.0.1~dev33-3.31.1 |
| SUSE:OpenStack Cloud Crowbar 9 | python-Pillow | 0 | 5.2.0-3.17.1 |
| SUSE:OpenStack Cloud Crowbar 9 | python-XStatic-jquery-ui | 0 | 1.13.0.1-4.3.1 |
| SUSE:OpenStack Cloud Crowbar 9 | python-lxml | 0 | 4.2.4-3.3.1 |
| SUSE:OpenStack Cloud Crowbar 9 | release-notes-suse-openstack-cloud | 0 | 9.20220413-3.30.1 |
| SUSE:OpenStack Cloud Crowbar 9 | rubygem-sinatra | 0 | 1.4.6-4.3.1 |
| Ubuntu:20.04:LTS | jqueryui | 0 | 1.12.1+dfsg-5ubuntu0.20.04.1 |
| Ubuntu:22.04:LTS | jqueryui | 0 | 1.13.1+dfsg-1 |
| Ubuntu:Pro:14.04:LTS | jqueryui | 0 | 1.10.1+dfsg-1ubuntu0.14.04.1~esm1 |
| Ubuntu:Pro:16.04:LTS | jqueryui | 0 | 1.10.1+dfsg-1ubuntu0.16.04.1~esm1 |
| Ubuntu:Pro:18.04:LTS | jqueryui | 0 | 1.12.1+dfsg-5ubuntu0.18.04.1~esm3 |
| Ubuntu:Pro:20.04:LTS | jqueryui | 0 | 1.12.1+dfsg-5ubuntu0.20.04.1 |
| packagist | drupal/drupal | 7.0 | No fix |
| packagist | drupal/drupal | 9.2.0 | No fix |
| packagist | drupal/drupal | 9.3.0 | No fix |
Related vulnerabilities
- CVE-2021-41184 jQuery-UI is the official jQuery user interface library. Also affects org.webjars.npm:jquery-ui
- CVE-2021-41182 jQuery-UI is the official jQuery user interface library. Also affects org.webjars.npm:jquery-ui
- CVE-2016-7103 Cross-site scripting (XSS) vulnerability in jQuery UI before 1.12.0 might allow remote… Also affects org.webjars.npm:jquery-ui
- CVE-2010-5312 Cross-site scripting (XSS) vulnerability in jquery.ui.dialog.js in the Dialog widget in… Also affects org.webjars.npm:jquery-ui
- GHSA-83v7-c2cf-p9c2 Drupal core allows Forceful Browsing Also affects drupal
- GHSA-h89p-5896-f4q8 Drupal core allows Content Spoofing Also affects drupal
- GHSA-mhpg-hpj5-73r2 Drupal core allows Exploiting Incorrectly Configured Access Control Security Levels Also affects drupal
- GHSA-m6vv-vcj8-w8m7 Drupal core allows Object Injection Also affects drupal