{"id":"CVE-2017-8871","aliases":["ALPINE-CVE-2017-8871","AZL-44802","EUVD-2017-17813","GHSA-xxqh-r526-fmp5","MGASA-2019-0389","SUSE-SU-2019:1468-1","SUSE-SU-2020:1535-1","UBUNTU-CVE-2017-8871","USN-5389-1","USN-6958-1","openSUSE-SU-2020:0780-1","openSUSE-SU-2024:10932-1"],"status":"published","title":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote...","description":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.1294,"percentile":0.96345,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-835"],"published":"2017-06-12T06:00:00Z","modified":"2026-11-05T05:36:30Z","exploits":[{"source":"exploitdb","id":"EDB-42147","title":"libcroco 0.6.12 - Denial of Service","type":"dos","platform":"linux","date":"2017-06-09","url":"https://www.exploit-db.com/exploits/42147"}],"fixes":[{"ecosystem":"Alpine:v3.10","package":"libcroco","fixed_in":["0.6.13-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.11","package":"libcroco","fixed_in":["0.6.13-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.7","package":"libcroco","fixed_in":["0.6.12-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.8","package":"libcroco","fixed_in":["0.6.12-r2"],"sources":["osv"]},{"ecosystem":"Alpine:v3.9","package":"libcroco","fixed_in":["0.6.12-r2"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libcroco","fixed_in":["0.6.8-2ubuntu1+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libcroco","fixed_in":["0.6.11-1ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libcroco","fixed_in":["0.6.12-2ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:20.04:LTS","package":"libcroco","fixed_in":["0.6.13-1ubuntu0.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.10","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.13-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.11","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.13-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.7","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.12-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.8","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.12-r2"}]}]},{"source":"osv","ecosystem":"Alpine:v3.9","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.12-r2"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.6.13-6"}]}]},{"source":"osv","ecosystem":"Mageia:7","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.13-1.1.mga7"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Desktop 12 SP3","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-12.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Desktop 12 SP4","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-12.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP3","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-12.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP4","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-12.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP3","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-12.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP3","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-12.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP4","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-12.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP4","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-12.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP1","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.12-4.3.51"}]}],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.8-2ubuntu1+esm1"}]}],"versions":["0.6.8-2","0.6.8-2ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-1ubuntu0.1~esm1"}]}],"versions":["0.6.8-3","0.6.9-1","0.6.10-1","0.6.11-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.12-2ubuntu0.1~esm1"}]}],"versions":["0.6.12-1","0.6.12-2"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.13-1ubuntu0.1"}]}],"versions":["0.6.13-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.11-1ubuntu0.1~esm1"}]}],"versions":["0.6.8-3","0.6.9-1","0.6.10-1","0.6.11-1"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.8-2ubuntu1+esm1"}]}],"versions":["0.6.8-2","0.6.8-2ubuntu1"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.12-2ubuntu0.1~esm1"}]}],"versions":["0.6.12-1","0.6.12-2"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.13-1ubuntu0.1"}]}],"versions":["0.6.13-1"],"bundled":4},{"source":"osv","ecosystem":"openSUSE:Leap 15.1","package":"libcroco","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.12-lp151.4.3.1"}]}],"bundled":2}],"products":[{"vendor":"gnome","product":"libcroco"},{"vendor":"opensuse","product":"leap"}],"references":[{"url":"https://bugzilla.gnome.org/show_bug.cgi?id=782649","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Third Party Advisory","report"]},{"url":"https://www.exploit-db.com/exploits/42147/","tags":["exploit","x_refsource_EXPLOIT-DB","x_transferred","Exploit","Third Party Advisory","VDB Entry","evidence","report"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00043.html","tags":["vendor-advisory","x_refsource_SUSE","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2020/08/13/3","tags":["mailing-list","x_refsource_MLIST","x_transferred","Exploit","Mailing List","Third Party Advisory","evidence"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-8871","tags":["web"]},{"url":"https://www.exploit-db.com/exploits/42147"},{"url":"https://github.com/advisories/GHSA-xxqh-r526-fmp5"},{"url":"https://security.alpinelinux.org/vuln/CVE-2017-8871","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2019-0389.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=21057","tags":["report"]},{"url":"https://lists.opensuse.org/opensuse-updates/2019-06/msg00092.html","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20191468-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1034481","tags":["report"]},{"url":"https://bugzilla.suse.com/1034482","tags":["report"]},{"url":"https://bugzilla.suse.com/1043898","tags":["report"]},{"url":"https://bugzilla.suse.com/1043899","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7960","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7961","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-8834","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-8871","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2020/suse-su-20201535-1/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2017-8871","tags":["report"]},{"url":"http://seclists.org/fulldisclosure/2017/Jun/10","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-5389-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2017-8871","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-6958-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2017-7960","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2017-8834","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2020-12825","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/ADX7FL43GXKSISV5OKCBKBORP4TJ5JPA/","tags":["advisory"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2020-12825","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2017-8871","description":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.","status":"published","published":"2017-06-12T06:00:00Z","modified":"2024-08-05T16:48:22.892Z","updated_at":"2026-11-02T14:33:14.89365Z"}],"euvd":[{"id":"EUVD-2017-17813","description":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.","status":"published","published":"2017-06-12T06:00:00Z","modified":"2024-08-05T16:48:22Z","updated_at":"2026-11-03T02:23:29.67797Z"}],"ghsa":[{"id":"GHSA-xxqh-r526-fmp5","title":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote...","description":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.","status":"published","published":"2022-05-13T01:23:13Z","modified":"2025-04-20T03:39:51Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-835"],"updated_at":"2026-11-02T15:01:47.903342Z"}],"nvd":[{"id":"CVE-2017-8871","description":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.","status":"published","published":"2017-06-12T06:29:00.227Z","modified":"2026-06-17T01:27:07.013Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary"},{"version":"2.0","score":7.1,"vector":"AV:N/AC:M/Au:N/C:N/I:N/A:C","level":"high","assessor":"primary"}],"cwes":["CWE-835"],"updated_at":"2026-11-02T14:03:50.782497Z"}],"osv":[{"id":"ALPINE-CVE-2017-8871","description":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.","status":"published","published":"2017-06-12T06:29:00.227Z","modified":"2026-06-15T18:24:19.627465616Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:27:47.187336Z"},{"id":"AZL-44802","title":"CVE-2017-8871 affecting package libcroco 0.6.13-6","description":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.","status":"published","published":"2017-06-12T06:29:00Z","modified":"2026-11-05T05:36:30Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-05T16:41:20.321068Z"},{"id":"CVE-2017-8871","description":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.","status":"published","published":"2017-06-12T06:29:00.227Z","modified":"2026-04-16T04:34:27.36080737Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:06.868403Z"},{"id":"UBUNTU-CVE-2017-8871","description":"The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.","status":"published","published":"2017-06-12T06:29:00Z","modified":"2026-04-22T11:34:45.556667Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"},{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:54:16.154988Z"},{"id":"MGASA-2019-0389","title":"Updated libcroco packages fix security vulnerability","description":"Updated libcroco packages fix security vulnerabilities:\n\nHeap overflow (input: check end of input before reading a byte)\n(CVE-2017-7960).\n\nUndefined behavior (tknzr: support only max long rgb values)\n(CVE-2017-7961).\n\nDenial of service (memory allocation error) via a crafted CSS file\n(CVE-2017-8834).\n\nDenial of service (infinite loop and CPU consumption) via a crafted CSS\nfile (CVE-2017-8871).\n","status":"published","published":"2019-12-15T18:03:05Z","modified":"2026-04-16T04:41:25.772333506Z","updated_at":"2026-11-02T15:49:41.151324Z"},{"id":"openSUSE-SU-2020:0780-1","title":"Security update for libcroco","description":"This update for libcroco fixes the following issues:\n\nSecurity issues fixed:\n\n- CVE-2017-8834: Fixed denial of service (memory allocation error) via a crafted CSS file (bsc#1043898).\n- CVE-2017-8871: Fixed denial of service (infinite loop and CPU consumption) via a crafted CSS file (bsc#1043899). \n\nThis update was imported from the SUSE:SLE-15:Update update project.","status":"published","published":"2020-06-07T22:17:21Z","modified":"2026-02-04T03:00:31.338109Z","updated_at":"2026-11-02T16:58:31.152112Z"},{"id":"openSUSE-SU-2024:10932-1","title":"libcroco-0.6.13-3.2 on GA media","description":"These are all security issues fixed in the libcroco-0.6.13-3.2 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T04:28:11.67267Z","updated_at":"2026-11-02T16:58:34.894275Z"},{"id":"SUSE-SU-2019:1468-1","title":"Security update for libcroco","description":"This update for libcroco fixes the following issues:\n\nSecurity issues fixed:\n\n- CVE-2017-7960: Fixed heap overflow (input: check end of input before reading a byte) (bsc#1034481).                                                                    \n- CVE-2017-7961: Fixed undefined behavior (tknzr: support only max long rgb values) (bsc#1034482).                                                                       \n- CVE-2017-8834: Fixed denial of service (memory allocation error) via a crafted CSS file (bsc#1043898).\n- CVE-2017-8871: Fixed denial of service (infinite loop and CPU consumption) via a crafted CSS file (bsc#1043899).\n","status":"published","published":"2019-06-12T08:01:48Z","modified":"2026-02-04T03:16:17.176399Z","updated_at":"2026-11-02T15:53:46.44301Z"},{"id":"SUSE-SU-2020:1535-1","title":"Security update for libcroco","description":"This update for libcroco fixes the following issues:\n\nSecurity issues fixed:\n\n- CVE-2017-8834: Fixed denial of service (memory allocation error) via a crafted CSS file (bsc#1043898).\n- CVE-2017-8871: Fixed denial of service (infinite loop and CPU consumption) via a crafted CSS file (bsc#1043899). \n","status":"published","published":"2020-06-04T08:44:52Z","modified":"2026-02-04T02:18:14.330689Z","updated_at":"2026-11-02T15:53:47.634847Z"},{"id":"USN-5389-1","title":"libcroco vulnerabilities","description":"It was discovered that Libcroco was incorrectly accessing data structures when\nreading bytes from memory, which could cause a heap buffer overflow. An attacker\ncould possibly use this issue to cause a denial of service. (CVE-2017-7960)\n\nIt was discovered that Libcroco was incorrectly handling invalid UTF-8 values\nwhen processing CSS files. An attacker could possibly use this issue to cause\na denial of service. (CVE-2017-8834, CVE-2017-8871)\n\nIt was discovered that Libcroco was incorrectly implementing recursion in one\nof its parsing functions, which could cause an infinite recursion loop and a\nstack overflow due to stack consumption. An attacker could possibly use this\nissue to cause a denial of service. (CVE-2020-12825)\n","status":"published","published":"2022-04-26T14:05:43Z","modified":"2026-06-25T13:31:08.964887453Z","updated_at":"2026-11-02T16:58:16.20937Z"},{"id":"USN-6958-1","title":"libcroco vulnerabilities","description":"It was discovered that Libcroco was incorrectly accessing data structures\nwhen reading bytes from memory, which could cause a heap buffer overflow.\nAn attacker could possibly use this issue to cause a denial of service.\nThis issue only affected Ubuntu 14.04 LTS. (CVE-2017-7960)\n\nIt was discovered that Libcroco was incorrectly handling invalid UTF-8\nvalues when processing CSS files. An attacker could possibly use this\nissue to cause a denial of service. (CVE-2017-8834, CVE-2017-8871)\n\nIt was discovered that Libcroco was incorrectly implementing recursion in\none of its parsing functions, which could cause an infinite recursion\nloop and a stack overflow due to stack consumption. An attacker could\npossibly use this issue to cause a denial of service. (CVE-2020-12825)\n","status":"published","published":"2024-08-13T15:39:41Z","modified":"2026-06-29T13:51:14.592718785Z","updated_at":"2026-11-02T16:58:17.914523Z"}]}}
