GitHub Advisoryadvisory · npm, Maven, RubyGems, NuGet
GHSA-j7qv-pgf6-hvh4 XSS in `*Text` options of the Datepicker widget in jquery-ui
MEDIUM
Official page ↗
- Aliases
- CVE-2021-41183
- Ecosystem
- npm, Maven, RubyGems, NuGet
- Packages
- jquery-ui, org.webjars.npm:jquery-ui, jquery-ui-rails, jQuery.UI.Combined
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
- Weaknesses
- CWE-79
- Reviewed
- 2021-10-25
Affected packages
• npm jquery-ui: < 1.13.0 → fixed in 1.13.0
• Maven org.webjars.npm:jquery-ui: < 1.13.0 → fixed in 1.13.0
• RubyGems jquery-ui-rails: < 7.0.0 → fixed in 7.0.0
• NuGet jQuery.UI.Combined: < 1.13.0 → fixed in 1.13.0
Description
Impact
Accepting the value of various `*Text` options of the Datepicker widget from untrusted sources may execute untrusted code. For example, initializing the datepicker in the following way:
```js
$( "#datepicker" ).datepicker( {
showButtonPanel: true,
showOn: "both",
closeText: "doEvilThing( 'closeText XSS' )",
currentText: "doEvilThing( 'currentText XSS' )",
prevText: "doEvilThing( 'prevText XSS' )",
nextText: "doEvilThing( 'nextText XSS' )",
buttonText: "doEvilThing( 'buttonText XSS' )",
appendText: "doEvilThing( 'appendText XSS' )",
} );
```
will call `doEvilThing` with 6 different parameters coming from all `*Text` options.
Patches
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.
Workarounds
A workaround is to not accept the value of the `*Text` options from untrusted sources.
For more information
If you have any questions or comments about this advisory, search for a relevant issue in the jQuery UI repo. If you don't find an answer, open a new issue.
Related
Alias · CVE (1)
- CVE-2021-41183 jQuery-UI is the official jQuery user interface library. vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness
References
- https://github.com/jquery/jquery-ui/security/advisories/GHSA-j7qv-pgf6-hvh4 web
- https://nvd.nist.gov/vuln/detail/CVE-2021-41183 advisory
- https://github.com/jquery/jquery-ui/pull/1953 web
- https://www.tenable.com/security/tns-2022-09 web
- https://www.oracle.com/security-alerts/cpujul2022.html web
- https://www.oracle.com/security-alerts/cpuapr2022.html web
- https://www.drupal.org/sa-core-2022-002 web
- https://www.drupal.org/sa-core-2022-001 web
- https://www.drupal.org/sa-contrib-2022-004 web
- https://security.netapp.com/advisory/ntap-20211118-0004 web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/SNXA7XRKGINWSUIPIZ6ZBCTV6N3KSHES web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/SGSY236PYSFYIEBRGDERLA7OSY6D7XL4 web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/O74SXYY7RGXREQDQUDQD4BPJ4QQTD2XQ web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/NXIUUBRVLA4E7G7MMIKCEN75YN7UFERW web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/HVKIOWSXL2RF2ULNAP7PHESYCFSZIJE3 web
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SNXA7XRKGINWSUIPIZ6ZBCTV6N3KSHES web
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SGSY236PYSFYIEBRGDERLA7OSY6D7XL4 web
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/O74SXYY7RGXREQDQUDQD4BPJ4QQTD2XQ web
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXIUUBRVLA4E7G7MMIKCEN75YN7UFERW web
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HVKIOWSXL2RF2ULNAP7PHESYCFSZIJE3 web
- https://lists.debian.org/debian-lts-announce/2023/08/msg00040.html web
- https://lists.debian.org/debian-lts-announce/2022/01/msg00014.html web
- https://github.com/jquery/jquery-ui package
- https://bugs.jqueryui.com/ticket/15284 web
- https://blog.jqueryui.com/2021/10/jquery-ui-1-13-0-released web