{"id":"CVE-2019-16228","aliases":["DEBIAN-CVE-2019-16228","EUVD-2019-0081","GHSA-ggwq-vrgp-6gv4","PYSEC-2019-240","UBUNTU-CVE-2019-16228","openSUSE-SU-2026:10430-1"],"status":"published","title":"py-lmdb Divide by Zero interruptions","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field. NOTE: this outcome occurs when accessing a data.mdb file supplied by an attacker.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.01786,"percentile":0.78475,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-369"],"published":"2019-09-11T14:46:45Z","modified":"2026-10-24T10:30:51Z","fixes":[{"ecosystem":"PyPI","package":"lmdb","fixed_in":["0.98"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.97"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.9.24-1","0.9.31-1","0.9.35-1"]},{"source":"osv","ecosystem":"Debian:13","package":"lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.9.31-1","0.9.35-1"]},{"source":"osv","ecosystem":"Debian:14","package":"lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.9.31-1","0.9.35-1"]},{"source":"osv","ecosystem":"Debian:12","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.0-1","1.4.1-1","1.4.1-2","1.4.1-3"]},{"source":"osv","ecosystem":"Debian:13","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.1-3"]},{"source":"osv","ecosystem":"Debian:14","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.1-3"]},{"source":"osv","ecosystem":"PyPI","package":"lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.97"}]}],"versions":["0.58","0.59","0.60","0.61","0.62","0.63","0.64","0.65","0.66","0.67","0.68","0.69","0.70","0.71","0.73","0.74","0.75","0.76","0.77","0.78","0.79","0.80","0.81","0.82","0.83","0.84","0.85","0.86","0.87","0.88","0.89","0.91","0.92","0.93","0.94","0.95","0.96","0.97"]},{"source":"osv","ecosystem":"PyPI","package":"lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.98"}]}],"versions":["0.58","0.59","0.60","0.61","0.62","0.63","0.64","0.65","0.66","0.67","0.68","0.69","0.70","0.71","0.73","0.74","0.75","0.76","0.77","0.78","0.79","0.80","0.81","0.82","0.83","0.84","0.85","0.86","0.87","0.88","0.89","0.91","0.92","0.93","0.94","0.95","0.96","0.97"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.86-1build1","0.86-1build2"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.86-1build4"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.86-1.1","0.86-1.1build1","0.86-1.2","0.86-1.2build1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.0.0-1build1","1.0.0-1build2","1.0.0-1build3"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.1-2","1.4.1-2build1","1.4.1-2build2"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.1-3build2"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.1-3build4"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"py-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.1-3build2","1.4.1-3build3","1.4.1-3build4"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python-lmdb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.1-1.1"}]}],"bundled":5}],"products":[{"vendor":"py-lmdb_project","product":"py-lmdb"}],"references":[{"url":"https://github.com/TeamSeri0us/pocs/tree/master/lmdb/FPE","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-16228","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/lmdb/PYSEC-2019-240.yaml","tags":["web"]},{"url":"https://pypi.org/project/lmdb","tags":["web","package"]},{"url":"https://github.com/advisories/GHSA-ggwq-vrgp-6gv4","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2019-16228","tags":["advisory"]},{"url":"https://github.com/jnwatson/py-lmdb","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2019-16228","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-16228","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2019-16224","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-16225","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-16226","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-16227","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-16228","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2019-16228","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field. NOTE: this outcome occurs when accessing a data.mdb file supplied by an attacker.","status":"published","published":"2019-09-11T14:46:45Z","modified":"2024-08-05T01:10:41.551Z","updated_at":"2026-11-02T14:32:23.485011Z"}],"euvd":[{"id":"EUVD-2019-0081","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field. NOTE: this outcome occurs when accessing a data.mdb file supplied by an attacker.","status":"published","published":"2019-09-11T14:46:45Z","modified":"2024-08-05T01:10:41Z","updated_at":"2026-11-03T02:40:33.71788Z"}],"ghsa":[{"id":"GHSA-ggwq-vrgp-6gv4","title":"py-lmdb Divide by Zero interruptions","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field.","status":"published","published":"2022-05-24T16:55:56Z","modified":"2024-09-30T16:40:26Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-369"],"updated_at":"2026-11-02T14:38:06.988799Z"}],"nvd":[{"id":"CVE-2019-16228","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field. NOTE: this outcome occurs when accessing a data.mdb file supplied by an attacker.","status":"published","published":"2019-09-11T15:15:11.577Z","modified":"2026-06-17T02:21:56.553Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-369"],"updated_at":"2026-11-02T14:05:25.691233Z"}],"osv":[{"id":"CVE-2019-16228","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field. NOTE: this outcome occurs when accessing a data.mdb file supplied by an attacker.","status":"published","published":"2019-09-11T15:15:11.577Z","modified":"2026-10-24T10:30:51.796848248Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:11.361782Z"},{"id":"DEBIAN-CVE-2019-16228","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field. NOTE: this outcome occurs when accessing a data.mdb file supplied by an attacker.","status":"published","published":"2019-09-11T15:15:11.577Z","modified":"2026-09-21T07:02:13.628666575Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:31.867036Z"},{"id":"GHSA-ggwq-vrgp-6gv4","title":"py-lmdb Divide by Zero interruptions","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field.","status":"published","published":"2022-05-24T16:55:56Z","modified":"2024-09-30T17:04:57.418076Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"},{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-369"],"updated_at":"2026-11-02T15:46:47.822182Z"},{"id":"UBUNTU-CVE-2019-16228","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field. NOTE: this outcome occurs when accessing a data.mdb file supplied by an attacker.","status":"published","published":"2019-09-11T15:15:00Z","modified":"2026-10-17T12:55:25.085774745Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:54:20.325378Z"},{"id":"openSUSE-SU-2026:10430-1","title":"python311-lmdb-2.1.1-1.1 on GA media","description":"These are all security issues fixed in the python311-lmdb-2.1.1-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-03-25T00:00:00Z","modified":"2026-03-26T09:00:53.674101Z","updated_at":"2026-11-02T16:58:38.415593Z"},{"id":"PYSEC-2019-240","description":"An issue was discovered in py-lmdb 0.97. There is a divide-by-zero error in the function mdb_env_open2 if mdb_env_read_header obtains a zero value for a certain size field. NOTE: this outcome occurs when accessing a data.mdb file supplied by an attacker.","status":"published","published":"2019-09-11T15:15:00Z","modified":"2026-06-10T17:00:34.603966573Z","updated_at":"2026-11-02T15:52:52.192131Z"}]}}
