{"id":"CVE-2019-19899","aliases":["EUVD-2022-3096","GHSA-83m8-7hj8-ff5w"],"status":"published","title":"Pebble Templates Improper Input Validation vulnerability","description":"Pebble Templates 3.1.2 allows attackers to bypass a protection mechanism (intended to block access to instances of java.lang.Class) because getClass is accessible via the public static java.lang.Class java.lang.Class.forName(java.lang.Module,java.lang.String) signature.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.01277,"percentile":0.70147,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20","CWE-862"],"published":"2019-12-18T23:24:01Z","modified":"2026-10-20T10:52:40Z","fixes":[{"ecosystem":"Maven","package":"io.pebbletemplates:pebble-project","fixed_in":["3.1.4"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"io.pebbletemplates:pebble-project","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.4"}]}]},{"source":"osv","ecosystem":"Maven","package":"io.pebbletemplates:pebble-project","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.4"}]}],"versions":["3.0.0","3.0.1","3.0.10","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","3.1.0","3.1.1","3.1.2","3.1.3"]}],"products":[{"vendor":"pebbletemplates","product":"pebble_templates"}],"references":[{"url":"https://github.com/PebbleTemplates/pebble/issues/493","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-19899","tags":["advisory"]},{"url":"https://research.securitum.com/server-side-template-injection-on-the-example-of-pebble/"},{"url":"https://github.com/PebbleTemplates/pebble/pull/511","tags":["web"]},{"url":"https://github.com/advisories/GHSA-83m8-7hj8-ff5w"},{"url":"https://github.com/PebbleTemplates/pebble","tags":["package"]},{"url":"https://research.securitum.com/server-side-template-injection-on-the-example-of-pebble","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2019-19899","description":"Pebble Templates 3.1.2 allows attackers to bypass a protection mechanism (intended to block access to instances of java.lang.Class) because getClass is accessible via the public static java.lang.Class java.lang.Class.forName(java.lang.Module,java.lang.String) signature.","status":"published","published":"2019-12-18T23:24:01Z","modified":"2024-08-05T02:32:09.282Z","updated_at":"2026-11-02T14:20:20.74896Z"}],"euvd":[{"id":"EUVD-2022-3096","description":"Pebble Templates 3.1.2 allows attackers to bypass a protection mechanism (intended to block access to instances of java.lang.Class) because getClass is accessible via the public static java.lang.Class java.lang.Class.forName(java.lang.Module,java.lang.String) signature.","status":"published","published":"2019-12-18T23:24:01Z","modified":"2024-08-05T02:32:09Z","updated_at":"2026-11-03T02:40:23.78072Z"}],"ghsa":[{"id":"GHSA-83m8-7hj8-ff5w","title":"Pebble Templates Improper Input Validation vulnerability","description":"Pebble Templates prior to 3.1.4 allows attackers to bypass a protection mechanism (intended to block access to instances of java.lang.Class) because getClass is accessible via the public static java.lang.Class `java.lang.Class.forName(java.lang.Module,java.lang.String)` signature.","status":"published","published":"2022-05-24T22:01:17Z","modified":"2023-09-26T20:06:30Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-20","CWE-862"],"updated_at":"2026-11-02T14:37:06.913882Z"}],"nvd":[{"id":"CVE-2019-19899","description":"Pebble Templates 3.1.2 allows attackers to bypass a protection mechanism (intended to block access to instances of java.lang.Class) because getClass is accessible via the public static java.lang.Class java.lang.Class.forName(java.lang.Module,java.lang.String) signature.","status":"published","published":"2019-12-19T00:15:12.767Z","modified":"2026-06-17T02:27:25.003Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:05:40.856496Z"}],"osv":[{"id":"CVE-2019-19899","description":"Pebble Templates 3.1.2 allows attackers to bypass a protection mechanism (intended to block access to instances of java.lang.Class) because getClass is accessible via the public static java.lang.Class java.lang.Class.forName(java.lang.Module,java.lang.String) signature.","status":"published","published":"2019-12-19T00:15:12.767Z","modified":"2026-10-20T10:52:40.02707064Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:12.010761Z"},{"id":"GHSA-83m8-7hj8-ff5w","title":"Pebble Templates Improper Input Validation vulnerability","description":"Pebble Templates prior to 3.1.4 allows attackers to bypass a protection mechanism (intended to block access to instances of java.lang.Class) because getClass is accessible via the public static java.lang.Class `java.lang.Class.forName(java.lang.Module,java.lang.String)` signature.","status":"published","published":"2022-05-24T22:01:17Z","modified":"2024-02-16T08:24:22.841536Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-20","CWE-862"],"updated_at":"2026-11-02T15:46:41.732368Z"}]}}
