{"id":"CVE-2018-16468","aliases":["DEBIAN-CVE-2018-16468","DSA-4364-1","EUVD-2018-0751","GHSA-g4xq-jx4w-4cjv","SUSE-SU-2018:3928-1","SUSE-SU-2019:0272-1","SUSE-SU-2019:0394-1","UBUNTU-CVE-2018-16468","openSUSE-SU-2019:0185-1","openSUSE-SU-2024:10589-1","openSUSE-SU-2024:11337-1","openSUSE-SU-2024:11900-1","openSUSE-SU-2024:13162-1","openSUSE-SU-2024:14171-1","openSUSE-SU-2025:15120-1","openSUSE-SU-2026:10353-1"],"status":"published","title":"Loofah Cross-site Scripting vulnerability","description":"In the Loofah gem for Ruby, through v2.2.2, unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished.","severity":{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.00916,"percentile":0.60426,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2018-10-30T21:00:00Z","modified":"2026-10-23T18:03:00Z","fixes":[{"ecosystem":"RubyGems","package":"loofah","fixed_in":["2.2.3"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"ruby-loofah","fixed_in":["2.2.3-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"ruby-loofah","fixed_in":["2.2.3-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"ruby-loofah","fixed_in":["2.2.3-1"],"sources":["osv"]},{"ecosystem":"Debian:9","package":"ruby-loofah","fixed_in":["2.0.3-2+deb9u2"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise High Availability Extension 15","package":"rubygem-loofah","fixed_in":["2.2.2-4.3.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"ruby-loofah","fixed_in":["2.0.3-2+deb9u2build0.16.04.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.3"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"ruby-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.3-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"ruby-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.3-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"ruby-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.3-1"}]}]},{"source":"osv","ecosystem":"Debian:9","package":"ruby-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.3-2+deb9u2"}]}],"versions":["2.0.3-2","2.0.3-2+deb9u1"]},{"source":"osv","ecosystem":"RubyGems","package":"loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.3"}]}],"versions":["0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.4.0","0.4.1","0.4.2","0.4.3","0.4.4","0.4.5","0.4.6","0.4.7","1.0.0","1.0.0.beta.1","1.1.0","1.2.0","1.2.1","2.0.0","2.0.1","2.0.2","2.0.3","2.1.0","2.1.0.rc1","2.1.0.rc2","2.1.1","2.2.0","2.2.1","2.2.2"]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Availability Extension 15","package":"rubygem-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.2-4.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Server Applications 15","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.1-3.13.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:OpenStack Cloud 7","package":"rubygem-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.2-3.5.1"}]}],"bundled":2},{"source":"osv","ecosystem":"SUSE:OpenStack Cloud Crowbar 8","package":"rubygem-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.2-3.5.1"}]}],"bundled":2},{"source":"osv","ecosystem":"SUSE:Enterprise Storage 4","package":"rubygem-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.2-3.5.1"}]}],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"ruby-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.3-2+deb9u2build0.16.04.1"}]}],"versions":["2.0.2-1","2.0.3-1","2.0.3-2","2.0.3-2+deb9u1build0.16.04.1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"ruby-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.0.3-2","2.2.2-1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"rmt-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.13-1.1"}]}],"bundled":16},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"rubygem-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.14.0-1.1"}]}],"bundled":3},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"ruby3.2-rubygem-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.19.1-1.2"}]}],"bundled":3},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"rubygem-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.22.0-1.5"}]}],"bundled":6},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"rubygem-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.23.1-1.3"}]}],"bundled":6},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"rubygem-loofah","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.23.1-1.5"}]}],"bundled":6}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"loofah_project","product":"loofah"}],"references":[{"url":"https://www.debian.org/security/2019/dsa-4364","tags":["vendor-advisory","x_refsource_DEBIAN","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/flavorjones/loofah/issues/154","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-16468","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-g4xq-jx4w-4cjv"},{"url":"https://security-tracker.debian.org/tracker/CVE-2018-16468","tags":["advisory"]},{"url":"https://github.com/flavorjones/loofah","tags":["package"]},{"url":"https://www.suse.com/support/update/announcement/2018/suse-su-20183928-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1113969","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2018-16468","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20190272-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1102046","tags":["report"]},{"url":"https://bugzilla.suse.com/1102193","tags":["report"]},{"url":"https://bugzilla.suse.com/1109307","tags":["report"]},{"url":"https://bugzilla.suse.com/1113760","tags":["report"]},{"url":"https://bugzilla.suse.com/1114831","tags":["report"]},{"url":"https://bugzilla.suse.com/1117106","tags":["report"]},{"url":"https://bugzilla.suse.com/1118579","tags":["report"]},{"url":"https://bugzilla.suse.com/1118584","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2018-14404","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-16470","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20190394-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1085967","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2018-8048","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2018-16468","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-16468","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/AV7P2XPVE2GW6NK2J7LPNFK4M3HRKL2B/#AV7P2XPVE2GW6NK2J7LPNFK4M3HRKL2B","tags":["advisory"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2019-11068","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-16770","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-18904","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-5419","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-5420","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-11076","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15169","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8164","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8165","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8166","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8167","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8184","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-8185","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-15587","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-23514","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-23515","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-23516","tags":["web"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/4IMNBB7ILYWTPHGNZ6BMSJ6C3YZLGIWO/","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2018-16468","description":"In the Loofah gem for Ruby, through v2.2.2, unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished.","status":"published","published":"2018-10-30T21:00:00Z","modified":"2024-08-05T10:24:32.638Z","cwes":["CWE-79"],"updated_at":"2026-11-02T14:35:11.072321Z"}],"euvd":[{"id":"EUVD-2018-0751","description":"In the Loofah gem for Ruby, through v2.2.2, unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished.","status":"published","published":"2018-10-30T21:00:00Z","modified":"2024-08-05T10:24:32Z","updated_at":"2026-11-03T02:39:41.750379Z"}],"ghsa":[{"id":"GHSA-g4xq-jx4w-4cjv","title":"Loofah Cross-site Scripting vulnerability","description":"In the Loofah gem for Ruby, through version 2.2.2, unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished. Users are advised to upgrade to version 2.2.3.\n\nSee https://github.com/flavorjones/loofah/issues/154 for more details.","status":"published","published":"2018-11-01T14:46:01Z","modified":"2023-01-23T17:08:58Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:36:14.033357Z"}],"nvd":[{"id":"CVE-2018-16468","description":"In the Loofah gem for Ruby, through v2.2.2, unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished.","status":"published","published":"2018-10-30T21:29:00.933Z","modified":"2026-06-17T01:44:20.72Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":3.5,"vector":"AV:N/AC:M/Au:S/C:N/I:P/A:N","level":"low","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:04:47.196456Z"}],"osv":[{"id":"CVE-2018-16468","description":"In the Loofah gem for Ruby, through v2.2.2, unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished.","status":"published","published":"2018-10-30T21:29:00.933Z","modified":"2026-10-20T10:50:03.643183314Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:08.533609Z"},{"id":"DEBIAN-CVE-2018-16468","description":"In the Loofah gem for Ruby, through v2.2.2, unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished.","status":"published","published":"2018-10-30T21:29:00.933Z","modified":"2026-10-23T18:03:00.677061389Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:30.290351Z"},{"id":"GHSA-g4xq-jx4w-4cjv","title":"Loofah Cross-site Scripting vulnerability","description":"In the Loofah gem for Ruby, through version 2.2.2, unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished. Users are advised to upgrade to version 2.2.3.\n\nSee https://github.com/flavorjones/loofah/issues/154 for more details.","status":"published","published":"2018-11-01T14:46:01Z","modified":"2023-11-08T03:59:59.636888Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:47.119724Z"},{"id":"UBUNTU-CVE-2018-16468","description":"In the Loofah gem for Ruby, through v2.2.2, unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished.","status":"published","published":"2018-10-30T21:29:00Z","modified":"2025-10-24T04:47:11Z","cvss":[{"version":"3.0","score":5.4,"vector":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:54:17.496046Z"},{"id":"DSA-4364-1","title":"ruby-loofah - security update","status":"published","published":"2019-01-08T00:00:00Z","modified":"2026-03-09T02:10:32.80322Z","updated_at":"2026-11-02T15:46:16.862196Z"},{"id":"openSUSE-SU-2019:0185-1","title":"Security update for rmt-server","description":"This update for rmt-server to version 1.1.1 fixes the following issues:\n\nThe following issues have been fixed:\n\n- Fixed migration problems which caused some extensions / modules to be dropped (bsc#1118584, bsc#1118579)\n- Fixed listing of mirrored products (bsc#1102193)\n- Include online migration paths into offline migration (bsc#1117106)\n- Sync products that do not have a base product (bsc#1109307)\n- Fixed SLP auto discovery for RMT (bsc#1113760)\n\nUpdate dependencies for security fixes:\n\n- CVE-2018-16468: Update loofah to 2.2.3 (bsc#1113969)\n- CVE-2018-16470: Update rack to 2.0.6 (bsc#1114831)\n- CVE-2018-14404: Update nokogiri to 1.8.5 (bsc#1102046)\n\nThis update was imported from the SUSE:SLE-15:Update update project.","status":"published","published":"2019-03-23T10:59:47Z","modified":"2026-02-04T03:16:41.366486Z","updated_at":"2026-11-02T16:58:30.39372Z"},{"id":"openSUSE-SU-2024:10589-1","title":"rmt-server-2.6.13-1.1 on GA media","description":"These are all security issues fixed in the rmt-server-2.6.13-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T02:28:48.695963Z","updated_at":"2026-11-02T16:58:34.487567Z"},{"id":"openSUSE-SU-2024:11337-1","title":"ruby2.7-rubygem-loofah-2.12.0-1.2 on GA media","description":"These are all security issues fixed in the ruby2.7-rubygem-loofah-2.12.0-1.2 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T02:31:28.562913Z","updated_at":"2026-11-02T16:58:35.195147Z"},{"id":"openSUSE-SU-2024:11900-1","title":"ruby3.1-rubygem-loofah-2.14.0-1.1 on GA media","description":"These are all security issues fixed in the ruby3.1-rubygem-loofah-2.14.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T03:15:23.372183Z","updated_at":"2026-11-02T16:58:35.485255Z"},{"id":"openSUSE-SU-2024:13162-1","title":"ruby3.2-rubygem-loofah-2.19.1-1.2 on GA media","description":"These are all security issues fixed in the ruby3.2-rubygem-loofah-2.19.1-1.2 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T04:04:48.137469Z","updated_at":"2026-11-02T16:58:36.025801Z"},{"id":"openSUSE-SU-2024:14171-1","title":"ruby3.3-rubygem-loofah-2.22.0-1.5 on GA media","description":"These are all security issues fixed in the ruby3.3-rubygem-loofah-2.22.0-1.5 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-07-12T00:00:00Z","modified":"2026-02-04T03:46:41.313947Z","updated_at":"2026-11-02T16:58:36.662953Z"},{"id":"openSUSE-SU-2025:15120-1","title":"ruby3.4-rubygem-loofah-2.23.1-1.3 on GA media","description":"These are all security issues fixed in the ruby3.4-rubygem-loofah-2.23.1-1.3 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2025-05-17T00:00:00Z","modified":"2026-02-04T02:26:16.054067Z","updated_at":"2026-11-02T16:58:37.399567Z"},{"id":"openSUSE-SU-2026:10353-1","title":"ruby4.0-rubygem-loofah-2.23.1-1.5 on GA media","description":"These are all security issues fixed in the ruby4.0-rubygem-loofah-2.23.1-1.5 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-03-13T00:00:00Z","modified":"2026-03-14T08:44:10.491758Z","updated_at":"2026-11-02T16:58:38.415593Z"},{"id":"SUSE-SU-2018:3928-1","title":"Security update for rubygem-loofah","description":"This update for rubygem-loofah fixes the following issues:\n\nSecurity issue fixed:\n\n- CVE-2018-16468: Fixed XXS by removing the svg animate attribute `from` from the allowlist (bsc#1113969).\n","status":"published","published":"2018-11-27T14:54:49Z","modified":"2026-02-04T03:40:06.759413Z","updated_at":"2026-11-02T15:53:45.378228Z"},{"id":"SUSE-SU-2019:0272-1","title":"Security update for rmt-server","description":"This update for rmt-server to version 1.1.1 fixes the following issues:\n\nThe following issues have been fixed:\n\n- Fixed migration problems which caused some extensions / modules to be dropped (bsc#1118584, bsc#1118579)\n- Fixed listing of mirrored products (bsc#1102193)\n- Include online migration paths into offline migration (bsc#1117106)\n- Sync products that do not have a base product (bsc#1109307)\n- Fixed SLP auto discovery for RMT (bsc#1113760)\n\nUpdate dependencies for security fixes:\n\n- CVE-2018-16468: Update loofah to 2.2.3 (bsc#1113969)\n- CVE-2018-16470: Update rack to 2.0.6 (bsc#1114831)\n- CVE-2018-14404: Update nokogiri to 1.8.5 (bsc#1102046)\n","status":"published","published":"2019-02-06T15:46:17Z","modified":"2026-02-04T03:00:10.48101Z","updated_at":"2026-11-02T15:53:45.926331Z"},{"id":"SUSE-SU-2019:0394-1","title":"Security update for rubygem-loofah","description":"This update for rubygem-loofah fixes the following issues:\n\nSecurity issues fixed:\n\n- CVE-2018-16468: Fixed XXS by removing the svg animate attribute `from` from the allowlist (bsc#1113969).\n- CVE-2018-8048: Fixed XSS vulnerability due to unescaped characters by libcxml2 (bsc#1085967).\n","status":"published","published":"2019-02-14T13:47:10Z","modified":"2026-02-04T02:31:47.668957Z","updated_at":"2026-11-02T15:53:45.926331Z"}]}}
