{"id":"CVE-2022-31160","aliases":["CLSA-2026-1773188127","CLSA-2026-1792502475","DEBIAN-CVE-2022-31160","DLA-3230-1","EUVD-2022-6344","GHSA-h6gj-6jjq-h8g9","UBUNTU-CVE-2022-31160","USN-5181-1","USN-6419-1"],"status":"published","title":"jQuery UI contains potential XSS vulnerability when refreshing a checkboxradio with an HTML-like initial text label","description":"jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of jQuery. Versions prior to 1.13.2 are potentially vulnerable to cross-site scripting. Initializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. Calling `.checkboxradio( \"refresh\" )` on such a widget and the initial HTML contained encoded HTML entities will make them erroneously get decoded. This can lead to potentially executing JavaScript code. The bug has been patched in jQuery UI 1.13.2. To remediate the issue, someone who can change the initial HTML can wrap all the non-input contents of the `label` in a `span`.","severity":{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.0269,"percentile":0.85981,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-79"],"published":"2022-07-18T17:07:36Z","modified":"2026-11-03T08:01:18Z","exploits":[{"source":"pocgithub","id":"CyberOne-TeamARES/jquery-cve-2022-31160","title":"CyberOne-TeamARES/jquery-cve-2022-31160","date":"2025-08-12","url":"https://github.com/CyberOne-TeamARES/jquery-cve-2022-31160"}],"fixes":[{"ecosystem":"npm","package":"jquery-ui","fixed_in":["1.13.2"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.webjars.npm:jquery-ui","fixed_in":["1.13.2"],"sources":["ghsa","osv"]},{"ecosystem":"NuGet","package":"jQuery.UI.Combined","fixed_in":["1.13.2"],"sources":["ghsa","osv"]},{"ecosystem":"RubyGems","package":"jquery-ui-rails","fixed_in":["8.0.0"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"jqueryui","fixed_in":["1.13.2+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"jqueryui","fixed_in":["1.13.2+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"jqueryui","fixed_in":["1.13.2+dfsg-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"jqueryui","fixed_in":["1.12.1+dfsg-5ubuntu0.18.04.1~esm2"],"sources":["osv"]},{"ecosystem":"Ubuntu:20.04:LTS","package":"jqueryui","fixed_in":["1.12.1+dfsg-5ubuntu0.20.04.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"jqueryui","fixed_in":["1.12.1+dfsg-5ubuntu0.20.04.1~esm3"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:22.04:LTS","package":"jqueryui","fixed_in":["1.13.1+dfsg-1ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"jquery-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.2"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.webjars.npm:jquery-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.2"}]}]},{"source":"ghsa","ecosystem":"NuGet","package":"jQuery.UI.Combined","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.2"}]}]},{"source":"ghsa","ecosystem":"RubyGems","package":"jquery-ui-rails","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"8.0.0"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"jquery-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.10.4-tuxcare.0"},{"fixed":"1.10.4-tuxcare.1"}]}],"versions":["1.10.4"],"bundled":5},{"source":"osv","ecosystem":"TuxCare:npm","package":"jquery-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.10.3-tuxcare.0"},{"fixed":"1.10.3-tuxcare.1"}]}],"versions":["1.10.3"],"bundled":5},{"source":"osv","ecosystem":"Debian:12","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.2+dfsg-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.2+dfsg-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.2+dfsg-1"}]}]},{"source":"osv","ecosystem":"Debian:10","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.1+dfsg-5+deb10u1"}]}],"versions":["1.12.1+dfsg-5"],"bundled":4},{"source":"osv","ecosystem":"npm","package":"jquery-ui","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.13.2"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.webjars.npm:jquery-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.2"}]}],"versions":["1.10.4","1.10.5","1.12.0","1.12.0-rc.2","1.12.1","1.13.0","1.13.0-rc.2","1.13.0-rc.3","1.13.1"]},{"source":"osv","ecosystem":"RubyGems","package":"jquery-ui-rails","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"8.0.0"}]}],"versions":["0.0.1","0.0.2","0.1.0","0.2.0","0.2.1","0.2.2","0.3.0","0.4.0","0.4.1","0.5.0","1.0.0","1.1.0","1.1.1","2.0.0","2.0.1","2.0.2","3.0.0","3.0.1","4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.1.0","4.1.1","4.1.2","4.2.0","4.2.1","5.0.0","5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","6.0.0","6.0.1","7.0.0"]},{"source":"osv","ecosystem":"NuGet","package":"jQuery.UI.Combined","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.2"}]}],"versions":["1.10.0","1.10.1","1.10.2","1.10.3","1.10.4","1.11.0","1.11.1","1.11.2","1.11.3","1.11.4","1.12.0","1.12.1","1.13.0","1.13.1","1.8.10","1.8.11","1.8.12","1.8.13","1.8.14","1.8.15","1.8.16","1.8.17","1.8.18","1.8.19","1.8.20","1.8.20.1","1.8.21","1.8.22","1.8.23","1.8.24","1.8.9","1.9.0","1.9.0-RC1","1.9.1","1.9.2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.1+dfsg-5ubuntu0.18.04.1~esm2"}]}],"versions":["1.12.1+dfsg-5"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.1+dfsg-5ubuntu0.20.04.1"}]}],"versions":["1.12.1+dfsg-5"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.1+dfsg-5ubuntu0.20.04.1~esm3"}]}],"versions":["1.12.1+dfsg-5","1.12.1+dfsg-5ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.1+dfsg-1ubuntu0.1~esm1"}]}],"versions":["1.12.1+dfsg-8","1.13.0+dfsg-1","1.13.1+dfsg-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.1+dfsg-5ubuntu0.18.04.1~esm2"}]}],"versions":["1.12.1+dfsg-5"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.1+dfsg-5ubuntu0.20.04.1~esm3"}]}],"versions":["1.12.1+dfsg-5","1.12.1+dfsg-5ubuntu0.1~esm2"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.1+dfsg-1ubuntu0.1~esm1"}]}],"versions":["1.12.1+dfsg-8","1.13.0+dfsg-1","1.13.1+dfsg-1"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.1+dfsg-1ubuntu0.14.04.1~esm1"}]}],"versions":["1.10.1+dfsg-1"],"bundled":5},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.1+dfsg-1ubuntu0.16.04.1~esm1"}]}],"versions":["1.10.1+dfsg-1"],"bundled":5},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.1+dfsg-5ubuntu0.18.04.1~esm3"}]}],"versions":["1.12.1+dfsg-5","1.12.1+dfsg-5ubuntu0.18.04.1~esm2"],"bundled":5},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"jqueryui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.1+dfsg-5ubuntu0.20.04.1"}]}],"versions":["1.12.1+dfsg-5"],"bundled":5}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"drupal","product":"jquery_ui_checkboxradio"},{"vendor":"fedoraproject","product":"fedora"},{"vendor":"jquery","product":"jquery-ui"},{"vendor":"jqueryui","product":"jquery_ui"},{"vendor":"netapp","product":"h300s_firmware"},{"vendor":"netapp","product":"h410c_firmware"},{"vendor":"netapp","product":"h410s_firmware"},{"vendor":"netapp","product":"h500s_firmware"},{"vendor":"netapp","product":"h700s_firmware"},{"vendor":"netapp","product":"oncommand_insight"}],"references":[{"url":"https://github.com/jquery/jquery-ui/security/advisories/GHSA-h6gj-6jjq-h8g9","tags":["x_transferred","Exploit","Mitigation","Release Notes","Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/jquery/jquery-ui/commit/8cc5bae1caa1fcf96bf5862c5646c787020ba3f9","tags":["x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"https://blog.jqueryui.com/2022/07/jquery-ui-1-13-2-released/","tags":["x_transferred","Release Notes","Vendor Advisory","article","report"]},{"url":"https://www.drupal.org/sa-contrib-2022-052","tags":["x_transferred","Third Party Advisory","web"]},{"url":"https://security.netapp.com/advisory/ntap-20220909-0007/","tags":["x_transferred","Third Party Advisory","advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/QB2FJQXCNHO32VGVOC6DY6IPGVE4VDU6/","tags":["vendor-advisory","x_transferred","advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/6XBR3G3JR5ZIOJDO4224M3INXDS2VFDD/","tags":["vendor-advisory","x_transferred","advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/J5LGNTICB5BRFAG3DHVVELS6H3CZSQMO/","tags":["vendor-advisory","x_transferred","advisory"]},{"url":"https://lists.debian.org/debian-lts-announce/2022/12/msg00015.html","tags":["mailing-list","x_transferred","Mailing List","Third Party Advisory","article","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-31160","tags":["advisory"]},{"url":"https://blog.jqueryui.com/2022/07/jquery-ui-1-13-2-released","tags":["web"]},{"url":"https://github.com/jquery-ui-rails/jquery-ui-rails/blob/master/VERSIONS.md","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/6XBR3G3JR5ZIOJDO4224M3INXDS2VFDD","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/J5LGNTICB5BRFAG3DHVVELS6H3CZSQMO","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QB2FJQXCNHO32VGVOC6DY6IPGVE4VDU6","tags":["web"]},{"url":"https://security.netapp.com/advisory/ntap-20220909-0007","tags":["web"]},{"url":"https://github.com/jquery-ui-rails/jquery-ui-rails/releases/tag/v8.0.0-release","tags":["web"]},{"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/jquery-ui-rails/CVE-2022-31160.yml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-h6gj-6jjq-h8g9"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/31xxx/CVE-2022-31160.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2022-31160","tags":["advisory"]},{"url":"https://github.com/jquery/jquery-ui","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2022-31160","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-5181-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/notices/USN-6419-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-31160","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-41184","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-7103","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-41182","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-41183","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2022-31160","title":"jQuery UI contains potential XSS vulnerability when refreshing a checkboxradio with an HTML-like initial text label","description":"jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of jQuery. Versions prior to 1.13.2 are potentially vulnerable to cross-site scripting. Initializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. Calling `.checkboxradio( \"refresh\" )` on such a widget and the initial HTML contained encoded HTML entities will make them erroneously get decoded. This can lead to potentially executing JavaScript code. The bug has been patched in jQuery UI 1.13.2. To remediate the issue, someone who can change the initial HTML can wrap all the non-input contents of the `label` in a `span`.","status":"published","published":"2022-07-20T00:00:00Z","modified":"2025-04-22T17:48:33.457Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:34:35.279735Z"}],"euvd":[{"id":"EUVD-2022-6344","description":"jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of jQuery. Versions prior to 1.13.2 are potentially vulnerable to cross-site scripting. Initializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. Calling `.checkboxradio( \"refresh\" )` on such a widget and the initial HTML contained encoded HTML entities will make them erroneously get decoded. This can lead to potentially executing JavaScript code. The bug has been patched in jQuery UI 1.13.2. To remediate the issue, someone who can change the initial HTML can wrap all the non-input contents of the `label` in a `span`.","status":"published","published":"2022-07-20T00:00:00Z","modified":"2025-04-22T17:48:33Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T20:52:15.540112Z"}],"ghsa":[{"id":"GHSA-h6gj-6jjq-h8g9","title":"jQuery UI vulnerable to XSS when refreshing a checkboxradio with an HTML-like initial text label","description":"### Impact\nInitializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. If you call `.checkboxradio( \"refresh\" )` on such a widget and the initial HTML contained encoded HTML entities, they will erroneously get decoded. This can lead to potentially executing JavaScript code.\n\nFor example, starting with the following initial secure HTML:\n```html\n\u003clabel\u003e\n\t\u003cinput id=\"test-input\"\u003e\n\t\u0026lt;img src=x onerror=\"alert(1)\"\u0026gt;\n\u003c/label\u003e\n```\nand calling:\n```js\n$( \"#test-input\" ).checkboxradio();\n$( \"#test-input\" ).checkboxradio( \"refresh\" );\n```\nwill turn the initial HTML into:\n```html\n\u003clabel\u003e\n\t\u003c!-- some jQuery UI elements --\u003e\n\t\u003cinput id=\"test-input\"\u003e\n\t\u003cimg src=x onerror=\"alert(1)\"\u003e\n\u003c/label\u003e\n```\nand the alert will get executed.\n\n### Patches\nThe bug has been patched in jQuery UI 1.13.2.\n\n### Workarounds\nTo remediate the issue, if you can change the initial HTML, you can wrap all the non-input contents of the `label` in a `span`:\n```html\n\u003clabel\u003e\n\t\u003cinput id=\"test-input\"\u003e\n\t\u003cspan\u003e\u0026lt;img src=x onerror=\"alert(1)\"\u0026gt;\u003c/span\u003e\n\u003c/label\u003e\n```\n\n### References\nhttps://blog.jqueryui.com/2022/07/jquery-ui-1-13-2-released/\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?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc). If you don't find an answer, open a new issue.","status":"published","published":"2022-07-18T17:07:36Z","modified":"2025-07-21T18:33:50Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:38:50.834587Z"}],"nvd":[{"id":"CVE-2022-31160","description":"jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of jQuery. Versions prior to 1.13.2 are potentially vulnerable to cross-site scripting. Initializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. Calling `.checkboxradio( \"refresh\" )` on such a widget and the initial HTML contained encoded HTML entities will make them erroneously get decoded. This can lead to potentially executing JavaScript code. The bug has been patched in jQuery UI 1.13.2. To remediate the issue, someone who can change the initial HTML can wrap all the non-input contents of the `label` in a `span`.","status":"published","published":"2022-07-20T20:15:08.053Z","modified":"2026-06-17T04:44:55.85Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:07:23.686531Z"}],"osv":[{"id":"CVE-2022-31160","title":"jQuery UI contains potential XSS vulnerability when refreshing a checkboxradio with an HTML-like initial text label","description":"jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of jQuery. Versions prior to 1.13.2 are potentially vulnerable to cross-site scripting. Initializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. Calling `.checkboxradio( \"refresh\" )` on such a widget and the initial HTML contained encoded HTML entities will make them erroneously get decoded. This can lead to potentially executing JavaScript code. The bug has been patched in jQuery UI 1.13.2. To remediate the issue, someone who can change the initial HTML can wrap all the non-input contents of the `label` in a `span`.","status":"published","published":"2022-07-20T00:00:00Z","modified":"2026-10-28T02:31:00.563664612Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:44:25.516981Z"},{"id":"DEBIAN-CVE-2022-31160","description":"jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of jQuery. Versions prior to 1.13.2 are potentially vulnerable to cross-site scripting. Initializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. Calling `.checkboxradio( \"refresh\" )` on such a widget and the initial HTML contained encoded HTML entities will make them erroneously get decoded. This can lead to potentially executing JavaScript code. The bug has been patched in jQuery UI 1.13.2. To remediate the issue, someone who can change the initial HTML can wrap all the non-input contents of the `label` in a `span`.","status":"published","published":"2022-07-20T20:15:08.053Z","modified":"2026-11-03T08:01:18.524906255Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T08:25:01.007408Z"},{"id":"GHSA-h6gj-6jjq-h8g9","title":"jQuery UI vulnerable to XSS when refreshing a checkboxradio with an HTML-like initial text label","description":"### Impact\nInitializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. If you call `.checkboxradio( \"refresh\" )` on such a widget and the initial HTML contained encoded HTML entities, they will erroneously get decoded. This can lead to potentially executing JavaScript code.\n\nFor example, starting with the following initial secure HTML:\n```html\n\u003clabel\u003e\n\t\u003cinput id=\"test-input\"\u003e\n\t\u0026lt;img src=x onerror=\"alert(1)\"\u0026gt;\n\u003c/label\u003e\n```\nand calling:\n```js\n$( \"#test-input\" ).checkboxradio();\n$( \"#test-input\" ).checkboxradio( \"refresh\" );\n```\nwill turn the initial HTML into:\n```html\n\u003clabel\u003e\n\t\u003c!-- some jQuery UI elements --\u003e\n\t\u003cinput id=\"test-input\"\u003e\n\t\u003cimg src=x onerror=\"alert(1)\"\u003e\n\u003c/label\u003e\n```\nand the alert will get executed.\n\n### Patches\nThe bug has been patched in jQuery UI 1.13.2.\n\n### Workarounds\nTo remediate the issue, if you can change the initial HTML, you can wrap all the non-input contents of the `label` in a `span`:\n```html\n\u003clabel\u003e\n\t\u003cinput id=\"test-input\"\u003e\n\t\u003cspan\u003e\u0026lt;img src=x onerror=\"alert(1)\"\u0026gt;\u003c/span\u003e\n\u003c/label\u003e\n```\n\n### References\nhttps://blog.jqueryui.com/2022/07/jquery-ui-1-13-2-released/\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?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc). If you don't find an answer, open a new issue.","status":"published","published":"2022-07-18T17:07:36Z","modified":"2025-07-21T19:01:07.439663Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:48.546324Z"},{"id":"UBUNTU-CVE-2022-31160","description":"jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of jQuery. Versions prior to 1.13.2 are potentially vulnerable to cross-site scripting. Initializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. Calling `.checkboxradio( \"refresh\" )` on such a widget and the initial HTML contained encoded HTML entities will make them erroneously get decoded. This can lead to potentially executing JavaScript code. The bug has been patched in jQuery UI 1.13.2. To remediate the issue, someone who can change the initial HTML can wrap all the non-input contents of the `label` in a `span`.","status":"published","published":"2022-07-20T20:15:00Z","modified":"2026-02-04T03:23:53.1714Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"},{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T16:53:53.899276Z"},{"id":"CLSA-2026-1773188127","title":"TuxCare security update for jquery-ui (5 CVEs)","description":"TuxCare rebuilt jquery-ui to address 5 CVEs. Fixed in 1.10.4-tuxcare.1.","status":"published","published":"2026-08-04T14:52:12Z","modified":"2026-10-15T09:47:27.746326008Z","updated_at":"2026-11-02T15:43:43.249928Z"},{"id":"CLSA-2026-1792502475","title":"TuxCare security update for jquery-ui (5 CVEs)","description":"TuxCare rebuilt jquery-ui to address 5 CVEs. Fixed in 1.10.3-tuxcare.1.","status":"published","published":"2026-10-20T13:21:15Z","modified":"2026-10-20T19:30:09.970385564Z","updated_at":"2026-11-02T15:43:54.378946Z"},{"id":"DLA-3230-1","title":"jqueryui - security update","status":"published","published":"2022-12-07T00:00:00Z","modified":"2026-03-09T01:20:13.766837Z","updated_at":"2026-11-02T15:46:11.734021Z"},{"id":"USN-5181-1","title":"jqueryui vulnerability","description":"It was discovered that jQuery UI did not properly validate the values from\nuntrusted sources. An attacker could use this vulnerability to cause a crash or\npossibly execute arbitrary code. This issue affected only Ubuntu 18.04 ESM and\nUbuntu 20.4 ESM. (CVE-2021-41184)\n\nIt was discovered that jQuery UI checkboxradio widget did not properly decode\ncertain values from HTML entities. An attacker could possibly use this issue to\ngenerate a cross-site scripting(XSS) attack, resulting in a crash or possibly\nexecute arbitrary code. (CVE-2022-31160)\n","status":"published","published":"2022-09-09T09:31:52Z","modified":"2026-04-27T16:03:35.773575422Z","updated_at":"2026-11-02T16:58:15.683829Z"},{"id":"USN-6419-1","title":"jqueryui vulnerabilities","description":"Hong Phat Ly discovered that jQuery UI did not properly manage parameters\nfrom untrusted sources, which could lead to arbitrary web script or HTML\ncode injection. A remote attacker could possibly use this issue to perform\na cross-site scripting (XSS) attack. This issue only affected\nUbuntu 14.04 LTS and Ubuntu 16.04 LTS. (CVE-2016-7103)\n\nEsben Sparre Andreasen discovered that jQuery UI did not properly handle\nvalues from untrusted sources in the Datepicker widget. A remote attacker\ncould possibly use this issue to perform a cross-site scripting (XSS)\nattack and execute arbitrary code. This issue only affected\nUbuntu 14.04 LTS, Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, and Ubuntu 20.04 LTS.\n(CVE-2021-41182, CVE-2021-41183)\n\nIt was discovered that jQuery UI did not properly validate values from\nuntrusted sources. An attacker could possibly use this issue to cause a\ndenial of service or execute arbitrary code. This issue only affected\nUbuntu 20.04 LTS. (CVE-2021-41184)\n\nIt was discovered that the jQuery UI checkboxradio widget did not properly\ndecode certain values from HTML entities. An attacker could possibly use\nthis issue to perform a cross-site scripting (XSS) attack and cause a\ndenial of service or execute arbitrary code. This issue only affected\nUbuntu 20.04 LTS. (CVE-2022-31160)\n","status":"published","published":"2023-10-05T12:36:27Z","modified":"2026-06-29T13:50:58.084523349Z","updated_at":"2026-11-02T16:58:17.305935Z"}]}}
