ghsa-j7qv-pgf6-hvh4
Vulnerability from github
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: "<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.
{ affected: [ { package: { ecosystem: "npm", name: "jquery-ui", }, ranges: [ { events: [ { introduced: "0", }, { fixed: "1.13.0", }, ], type: "ECOSYSTEM", }, ], }, { package: { ecosystem: "Maven", name: "org.webjars.npm:jquery-ui", }, ranges: [ { events: [ { introduced: "0", }, { fixed: "1.13.0", }, ], type: "ECOSYSTEM", }, ], }, { package: { ecosystem: "RubyGems", name: "jquery-ui-rails", }, ranges: [ { events: [ { introduced: "0", }, { fixed: "7.0.0", }, ], type: "ECOSYSTEM", }, ], }, { package: { ecosystem: "NuGet", name: "jQuery.UI.Combined", }, ranges: [ { events: [ { introduced: "0", }, { fixed: "1.13.0", }, ], type: "ECOSYSTEM", }, ], }, ], aliases: [ "CVE-2021-41183", ], database_specific: { cwe_ids: [ "CWE-79", ], github_reviewed: true, github_reviewed_at: "2021-10-25T22:06:45Z", nvd_published_at: "2021-10-26T15:15:00Z", severity: "MODERATE", }, details: "### Impact\nAccepting 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:\n```js\n$( \"#datepicker\" ).datepicker( {\n\tshowButtonPanel: true,\n\tshowOn: \"both\",\n\tcloseText: \"<script>doEvilThing( 'closeText XSS' )</script>\",\n\tcurrentText: \"<script>doEvilThing( 'currentText XSS' )</script>\",\n\tprevText: \"<script>doEvilThing( 'prevText XSS' )</script>\",\n\tnextText: \"<script>doEvilThing( 'nextText XSS' )</script>\",\n\tbuttonText: \"<script>doEvilThing( 'buttonText XSS' )</script>\",\n\tappendText: \"<script>doEvilThing( 'appendText XSS' )</script>\",\n} );\n```\nwill call `doEvilThing` with 6 different parameters coming from all `*Text` options.\n\n### Patches\nThe 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.\n\n### Workarounds\nA workaround is to not accept the value of the `*Text` options from untrusted sources.\n\n### For more information\nIf you have any questions or comments about this advisory, search for a relevant issue in [the jQuery UI repo](https://github.com/jquery/jquery-ui/issues). If you don't find an answer, open a new issue.", id: "GHSA-j7qv-pgf6-hvh4", modified: "2021-10-27T17:00:26Z", published: "2021-10-26T14:55:21Z", references: [ { type: "WEB", url: "https://github.com/jquery/jquery-ui/security/advisories/GHSA-j7qv-pgf6-hvh4", }, { type: "ADVISORY", url: "https://nvd.nist.gov/vuln/detail/CVE-2021-41183", }, { type: "WEB", url: "https://github.com/jquery/jquery-ui/pull/1953", }, { type: "WEB", url: "https://www.tenable.com/security/tns-2022-09", }, { type: "WEB", url: "https://www.oracle.com/security-alerts/cpujul2022.html", }, { type: "WEB", url: "https://www.oracle.com/security-alerts/cpuapr2022.html", }, { type: "WEB", url: "https://www.drupal.org/sa-core-2022-002", }, { type: "WEB", url: "https://www.drupal.org/sa-core-2022-001", }, { type: "WEB", url: "https://www.drupal.org/sa-contrib-2022-004", }, { type: "WEB", url: "https://security.netapp.com/advisory/ntap-20211118-0004", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/SNXA7XRKGINWSUIPIZ6ZBCTV6N3KSHES", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/SGSY236PYSFYIEBRGDERLA7OSY6D7XL4", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/O74SXYY7RGXREQDQUDQD4BPJ4QQTD2XQ", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NXIUUBRVLA4E7G7MMIKCEN75YN7UFERW", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HVKIOWSXL2RF2ULNAP7PHESYCFSZIJE3", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SNXA7XRKGINWSUIPIZ6ZBCTV6N3KSHES", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SGSY236PYSFYIEBRGDERLA7OSY6D7XL4", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/O74SXYY7RGXREQDQUDQD4BPJ4QQTD2XQ", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXIUUBRVLA4E7G7MMIKCEN75YN7UFERW", }, { type: "WEB", url: "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HVKIOWSXL2RF2ULNAP7PHESYCFSZIJE3", }, { type: "WEB", url: "https://lists.debian.org/debian-lts-announce/2023/08/msg00040.html", }, { type: "WEB", url: "https://lists.debian.org/debian-lts-announce/2022/01/msg00014.html", }, { type: "PACKAGE", url: "https://github.com/jquery/jquery-ui", }, { type: "WEB", url: "https://bugs.jqueryui.com/ticket/15284", }, { type: "WEB", url: "https://blog.jqueryui.com/2021/10/jquery-ui-1-13-0-released", }, ], schema_version: "1.4.0", severity: [ { score: "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N", type: "CVSS_V3", }, ], summary: "XSS in `*Text` options of the Datepicker widget in jquery-ui", }
Log in or create an account to share your comment.
This schema specifies the format of a comment related to a security advisory.
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.