{"id":"CVE-2022-23559","summary":"Integer overflow in TFLite","details":"Tensorflow is an Open Source Machine Learning Framework. An attacker can craft a TFLite model that would cause an integer overflow in embedding lookup operations. Both `embedding_size` and `lookup_size` are products of values provided by the user. Hence, a malicious user could trigger overflows in the multiplication. In certain scenarios, this can then result in heap OOB read/write. Users are advised to upgrade to a patched version.","aliases":["BIT-tensorflow-2022-23559","GHSA-98p5-x8x4-c9m5","PYSEC-2022-123","PYSEC-2022-68","PYSEC-2026-3146"],"modified":"2026-08-04T08:27:14.114552Z","published":"2022-02-04T22:32:37Z","related":["openSUSE-SU-2024:12116-1"],"database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-190"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/23xxx/CVE-2022-23559.json","unresolved_ranges":[{"extracted_events":[{"introduced":"2.7.0"},{"fixed":"2.7.1"},{"introduced":"2.6.0"},{"fixed":"2.6.3"},{"fixed":"2.5.3"}],"source":"AFFECTED_FIELD"}]},"references":[{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/blob/ca6f96b62ad84207fbec580404eaa7dd7403a550/tensorflow/lite/kernels/embedding_lookup_sparse.cc#L179-L189"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/23xxx/CVE-2022-23559.json"},{"type":"ADVISORY","url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-98p5-x8x4-c9m5"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-23559"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/commit/1de49725a5fc4e48f1a3b902ec3599ee99283043"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/commit/a4e401da71458d253b05e41f28637b65baf64be4"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/commit/f19be71717c497723ba0cea0379e84f061a75e01"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/tensorflow/tensorflow","events":[{"introduced":"0"},{"fixed":"1de49725a5fc4e48f1a3b902ec3599ee99283043"},{"fixed":"a4e401da71458d253b05e41f28637b65baf64be4"},{"fixed":"f19be71717c497723ba0cea0379e84f061a75e01"}],"database_specific":{"source":"REFERENCES"}}],"versions":["v1.12.1","v1.9.0-rc2","v1.6.0-rc1","v1.1.0-rc2","v1.1.0-rc1","0.6.0","0.5.0"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-23559.json","vanir_signatures_modified":"2026-08-04T08:27:14Z","vanir_signatures":[{"deprecated":false,"digest":{"line_hashes":["85410680876681023327348856315031143994","118497484770849856877827816462635179816","261222415014871246788082841629542681827","288183307539410504516238279694191301924","262468463687526912784217008022405829118","258157933775021897104311372734615095233","35756995556457022631049588613881686442","108442584805864087780077536743435776302","160898141840311294805800293188428145049","58689817718977518917601266415954439687","127140459495285977855791762754393591377","195688253077441444319022135064159611684","89434140134287987042985141632157219290","288133304646079082561514184151498000758","263544599418810252358456655251941818977","28239528415947317695363816025340138492","120402029522907494518168043384376457563","250195520794391626749903202438596963289","210200570240247804766911365589233909591","307092839802332632521347923403926744114","42764055590011115367891909501749507650","203083767272193713308268100115708345849","91003048194182181921989643358043661671","219281867380230976762677357419773085565","3238702723619629991550887290556831627"],"threshold":0.9},"id":"CVE-2022-23559-281cdb68","signature_type":"Line","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/1de49725a5fc4e48f1a3b902ec3599ee99283043","target":{"file":"tensorflow/lite/kernels/embedding_lookup_sparse.cc"}},{"id":"CVE-2022-23559-3cc378ff","signature_type":"Line","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/f19be71717c497723ba0cea0379e84f061a75e01","target":{"file":"tensorflow/lite/util.h"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["126357828628371628422515171589031042514","105607537601101828502655597360633401927","181619973388847213322861090249573572549"]}},{"signature_type":"Line","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/f19be71717c497723ba0cea0379e84f061a75e01","target":{"file":"tensorflow/lite/util_test.cc"},"deprecated":false,"digest":{"line_hashes":["295484003531276308749297469168433552506","210831907464118790597160967515834323580","322714128051116894141039547984733768799","324887642458684173600771625364455312679","241283113168171870042066162980211488936","92553759981212288368410437646081353801"],"threshold":0.9},"id":"CVE-2022-23559-510ea595"},{"id":"CVE-2022-23559-8b1f00b6","signature_type":"Function","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/1de49725a5fc4e48f1a3b902ec3599ee99283043","target":{"function":"Eval","file":"tensorflow/lite/kernels/embedding_lookup_sparse.cc"},"deprecated":false,"digest":{"function_hash":"55152256114396208495445113108853950819","length":2655}},{"deprecated":false,"digest":{"function_hash":"324398776744574836788412858557138394500","length":2860},"id":"CVE-2022-23559-99483e9b","signature_type":"Function","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/a4e401da71458d253b05e41f28637b65baf64be4","target":{"file":"tensorflow/lite/kernels/embedding_lookup_sparse.cc","function":"Eval"}},{"deprecated":false,"digest":{"line_hashes":["171363148739880113058706704984352086650","252619183282187386514825107465870696686","190019041610687372375646668756202882464","282308925462631533674194046577919812456","85482977180241598679348490657841146475","294296835792516136328025964725832774862","124315077423236210543984979933027003862","287614623608147654669429067757971974004"],"threshold":0.9},"id":"CVE-2022-23559-ab10bb9c","signature_type":"Line","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/a4e401da71458d253b05e41f28637b65baf64be4","target":{"file":"tensorflow/lite/kernels/embedding_lookup_sparse.cc"}},{"signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/f19be71717c497723ba0cea0379e84f061a75e01","target":{"file":"tensorflow/lite/core/subgraph.cc"},"deprecated":false,"digest":{"line_hashes":["205435682110525021304340706187361747346","218525562072316164906181765876475931025","206181148045709910831354288205920019401","20337592559932583643066377864979157377","60539056155937670293834546086908934017","65693999343819619938901009823390586540","106003119854278577671479212915727700800","34124208798178803562111396154379182898","101527969380753981937818074354726172289","155811047823744060184448885197482044777","194723390917787130513253012618565048323","211986154655238734220606965585513972720","292357186293567343288259480729542648965","204934311464343260409863313871951636178"],"threshold":0.9},"id":"CVE-2022-23559-b8d6eb34","signature_type":"Line"},{"target":{"file":"tensorflow/lite/util.cc"},"deprecated":false,"digest":{"line_hashes":["238264435780750279294674734304522482584","30496652379376722579916170697673306539","244531131187670267725259461949096189678","69809224338130268163695306835384549802","145670490621469593230805507834832916249","39061592317627373221350757511261827631"],"threshold":0.9},"id":"CVE-2022-23559-f62cba47","signature_type":"Line","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/f19be71717c497723ba0cea0379e84f061a75e01"}]}}],"schema_version":"1.8.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}