jquery/jquery-ui · Security
XSS in `*Text` options of the Datepicker widget in jquery-ui
- GHSA ID
- GHSA-j7qv-pgf6-hvh4
- CVE ID
- CVE-2021-41183
- Severity
- medium
- Published
- Updated
- CVSS
- 6.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
- CVSS v3
- 6.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
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:
$( "#datepicker" ).datepicker( {
showButtonPanel: true,
showOn: "both",
closeText: "<script>doEvilThing( 'closeText XSS' )</script>",
currentText: "<script>doEvilThing( 'currentText XSS' )</script>",
prevText: "<script>doEvilThing( 'prevText XSS' )</script>",
nextText: "<script>doEvilThing( 'nextText XSS' )</script>",
buttonText: "<script>doEvilThing( 'buttonText XSS' )</script>",
appendText: "<script>doEvilThing( 'appendText XSS' )</script>",
} );
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.
CWEs
- CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
References
- https://github.com/jquery/jquery-ui/security/advisories/GHSA-j7qv-pgf6-hvh4 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2021-41183 ↗
- https://github.com/jquery/jquery-ui/pull/1953 ↗
- https://blog.jqueryui.com/2021/10/jquery-ui-1-13-0-released/ ↗
- https://bugs.jqueryui.com/ticket/15284 ↗
- https://security.netapp.com/advisory/ntap-20211118-0004/ ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/NXIUUBRVLA4E7G7MMIKCEN75YN7UFERW/ ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/O74SXYY7RGXREQDQUDQD4BPJ4QQTD2XQ/ ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/SNXA7XRKGINWSUIPIZ6ZBCTV6N3KSHES/ ↗
- https://lists.debian.org/debian-lts-announce/2022/01/msg00014.html ↗
- https://www.drupal.org/sa-contrib-2022-004 ↗
- https://www.drupal.org/sa-core-2022-001 ↗
- https://www.drupal.org/sa-core-2022-002 ↗
- https://www.oracle.com/security-alerts/cpuapr2022.html ↗
- https://www.tenable.com/security/tns-2022-09 ↗
- https://www.oracle.com/security-alerts/cpujul2022.html ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/HVKIOWSXL2RF2ULNAP7PHESYCFSZIJE3/ ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/SGSY236PYSFYIEBRGDERLA7OSY6D7XL4/ ↗
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HVKIOWSXL2RF2ULNAP7PHESYCFSZIJE3/ ↗
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXIUUBRVLA4E7G7MMIKCEN75YN7UFERW/ ↗
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/O74SXYY7RGXREQDQUDQD4BPJ4QQTD2XQ/ ↗
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SGSY236PYSFYIEBRGDERLA7OSY6D7XL4/ ↗
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SNXA7XRKGINWSUIPIZ6ZBCTV6N3KSHES/ ↗
- https://lists.debian.org/debian-lts-announce/2023/08/msg00040.html ↗
- https://github.com/advisories/GHSA-j7qv-pgf6-hvh4 ↗