{"id":"CVE-2022-35986","aliases":["BIT-tensorflow-2022-35986","EUVD-2022-6968","GHSA-wr9v-g9vf-c74v","PYSEC-2026-938","openSUSE-SU-2024:12355-1"],"status":"published","title":"Segfault in `RaggedBincount` in TensorFlow","description":"TensorFlow is an open source platform for machine learning. If `RaggedBincount` is given an empty input tensor `splits`, it results in a segfault that can be used to trigger a denial of service attack. We have patched the issue in GitHub commit 7a4591fd4f065f4fa903593bc39b2f79530a74b8. The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. There are no known workarounds for this issue.","severity":{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.0051,"percentile":0.43773,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2022-09-16T21:45:13Z","modified":"2026-10-28T10:31:18Z","fixes":[{"ecosystem":"PyPI","package":"tensorflow","fixed_in":["2.7.2","2.8.1","2.9.1"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"tensorflow","fixed_in":["2.7.2","2.8.1","2.9.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.7.2"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.8.0"},{"fixed":"2.8.1"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.9.0"},{"fixed":"2.9.1"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"tensorflow","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.7.2"},{"introduced":"2.8.0"},{"fixed":"2.8.1"},{"introduced":"2.9.0"},{"fixed":"2.9.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.7.2"}]}],"versions":["0.12.0","0.12.1","1.0.0","1.0.1","1.1.0","1.10.0","1.10.1","1.11.0","1.12.0","1.12.2","1.12.3","1.13.1","1.13.2","1.14.0","1.15.0","1.15.2","1.15.3","1.15.4","1.15.5","1.2.0","1.2.1","1.3.0","1.4.0","1.4.1","1.5.0","1.5.1","1.6.0","1.7.0","1.7.1","1.8.0","1.9.0","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.2.0","2.2.1","2.2.2","2.2.3","2.3.0","2.3.1","2.3.2","2.3.3","2.3.4","2.4.0","2.4.1","2.4.2","2.4.3","2.4.4","2.5.0","2.5.1","2.5.2","2.5.3","2.6.0","2.6.0rc0","2.6.0rc1","2.6.0rc2","2.6.1","2.6.2","2.6.3","2.6.4","2.6.5","2.7.0","2.7.0rc0","2.7.0rc1","2.7.1"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.8.0"},{"fixed":"2.8.1"}]}],"versions":["2.8.0"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.9.0"},{"fixed":"2.9.1"}]}],"versions":["2.9.0"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.7.2"},{"introduced":"2.8.0"},{"fixed":"2.8.1"},{"introduced":"2.9.0"},{"fixed":"2.9.1"}]}],"versions":["0.12.0","0.12.1","1.0.0","1.0.1","1.1.0","1.10.0","1.10.1","1.11.0","1.12.0","1.12.2","1.12.3","1.13.1","1.13.2","1.14.0","1.15.0","1.15.2","1.15.3","1.15.4","1.15.5","1.2.0","1.2.1","1.3.0","1.4.0","1.4.1","1.5.0","1.5.1","1.6.0","1.7.0","1.7.1","1.8.0","1.9.0","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.2.0","2.2.1","2.2.2","2.2.3","2.3.0","2.3.1","2.3.2","2.3.3","2.3.4","2.4.0","2.4.1","2.4.2","2.4.3","2.4.4","2.5.0","2.5.1","2.5.2","2.5.3","2.6.0","2.6.0rc0","2.6.0rc1","2.6.0rc2","2.6.1","2.6.2","2.6.3","2.6.4","2.6.5","2.7.0","2.7.0rc0","2.7.0rc1","2.7.1","2.8.0","2.9.0"]}],"products":[{"vendor":"google","product":"tensorflow"},{"vendor":"tensorflow","product":"tensorflow"}],"references":[{"url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-wr9v-g9vf-c74v","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/tensorflow/tensorflow/commit/7a4591fd4f065f4fa903593bc39b2f79530a74b8","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","advisory","fix","web"]},{"url":"https://github.com/tensorflow/tensorflow/releases/tag/v2.10.0","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-35986","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-wr9v-g9vf-c74v","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/35xxx/CVE-2022-35986.json","tags":["advisory"]},{"url":"https://github.com/tensorflow/tensorflow","tags":["package"]},{"url":"https://pypi.org/project/tensorflow","tags":["package"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35934","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35935","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35937","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35938","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35939","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35940","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35941","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35952","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35959","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35960","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35963","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35964","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35965","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35966","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35967","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35968","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35969","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35970","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35971","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35972","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35973","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35974","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35979","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35981","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35982","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35983","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35984","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35985","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35986","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35987","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35988","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35989","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35990","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35991","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35992","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35993","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35994","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35995","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35996","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35997","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35998","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-35999","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36000","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36001","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36002","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36003","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36004","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36005","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36011","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36012","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36013","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36014","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36015","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36016","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36017","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36018","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36019","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36026","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-36027","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2022-35986","title":"Segfault in `RaggedBincount` in TensorFlow","description":"TensorFlow is an open source platform for machine learning. If `RaggedBincount` is given an empty input tensor `splits`, it results in a segfault that can be used to trigger a denial of service attack. We have patched the issue in GitHub commit 7a4591fd4f065f4fa903593bc39b2f79530a74b8. The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. There are no known workarounds for this issue.","status":"published","published":"2022-09-16T21:45:13Z","modified":"2025-04-23T17:01:35.348Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:34:39.935681Z"}],"euvd":[{"id":"EUVD-2022-6968","description":"TensorFlow is an open source platform for machine learning. If `RaggedBincount` is given an empty input tensor `splits`, it results in a segfault that can be used to trigger a denial of service attack. We have patched the issue in GitHub commit 7a4591fd4f065f4fa903593bc39b2f79530a74b8. The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. There are no known workarounds for this issue.","status":"published","published":"2022-09-16T21:45:13Z","modified":"2025-04-23T17:01:35Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T20:52:11.440801Z"}],"ghsa":[{"id":"GHSA-wr9v-g9vf-c74v","title":" TensorFlow vulnerable to segfault in `RaggedBincount`","description":"### Impact\nIf `RaggedBincount` is given an empty input tensor `splits`, it results in a segfault that can be used to trigger a denial of service attack.\n```python\nimport tensorflow as tf\nbinary_output = True\nsplits = tf.random.uniform(shape=[0], minval=-10000, maxval=10000, dtype=tf.int64, seed=-7430)\nvalues = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.int32, seed=-10000)\nsize = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.int32, seed=-10000)\nweights = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.float32, seed=-10000)\ntf.raw_ops.RaggedBincount(splits=splits, values=values, size=size, weights=weights, binary_output=binary_output)\n```\n\n### Patches\nWe have patched the issue in GitHub commit [7a4591fd4f065f4fa903593bc39b2f79530a74b8](https://github.com/tensorflow/tensorflow/commit/7a4591fd4f065f4fa903593bc39b2f79530a74b8).\n\nThe fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range.\n\n\n### For more information\nPlease consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions.\n\n\n### Attribution\nThis vulnerability has been reported by Di Jin, Secure Systems Labs, Brown University\n","status":"published","published":"2022-09-16T22:29:01Z","modified":"2023-01-28T05:03:01Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T14:36:23.433782Z"}],"nvd":[{"id":"CVE-2022-35986","description":"TensorFlow is an open source platform for machine learning. If `RaggedBincount` is given an empty input tensor `splits`, it results in a segfault that can be used to trigger a denial of service attack. We have patched the issue in GitHub commit 7a4591fd4f065f4fa903593bc39b2f79530a74b8. The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. There are no known workarounds for this issue.","status":"published","published":"2022-09-16T22:15:11.487Z","modified":"2026-06-17T04:52:40.867Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"secondary"},{"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"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:07:28.118799Z"}],"osv":[{"id":"CVE-2022-35986","title":"Segfault in `RaggedBincount` in TensorFlow","description":"TensorFlow is an open source platform for machine learning. If `RaggedBincount` is given an empty input tensor `splits`, it results in a segfault that can be used to trigger a denial of service attack. We have patched the issue in GitHub commit 7a4591fd4f065f4fa903593bc39b2f79530a74b8. The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. There are no known workarounds for this issue.","status":"published","published":"2022-09-16T21:45:13Z","modified":"2026-10-28T10:31:18.616915808Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:44:26.195407Z"},{"id":"GHSA-wr9v-g9vf-c74v","title":" TensorFlow vulnerable to segfault in `RaggedBincount`","description":"### Impact\nIf `RaggedBincount` is given an empty input tensor `splits`, it results in a segfault that can be used to trigger a denial of service attack.\n```python\nimport tensorflow as tf\nbinary_output = True\nsplits = tf.random.uniform(shape=[0], minval=-10000, maxval=10000, dtype=tf.int64, seed=-7430)\nvalues = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.int32, seed=-10000)\nsize = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.int32, seed=-10000)\nweights = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.float32, seed=-10000)\ntf.raw_ops.RaggedBincount(splits=splits, values=values, size=size, weights=weights, binary_output=binary_output)\n```\n\n### Patches\nWe have patched the issue in GitHub commit [7a4591fd4f065f4fa903593bc39b2f79530a74b8](https://github.com/tensorflow/tensorflow/commit/7a4591fd4f065f4fa903593bc39b2f79530a74b8).\n\nThe fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range.\n\n\n### For more information\nPlease consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions.\n\n\n### Attribution\nThis vulnerability has been reported by Di Jin, Secure Systems Labs, Brown University\n","status":"published","published":"2022-09-16T22:29:01Z","modified":"2026-07-07T11:56:44.634121529Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:46:59.131095Z"},{"id":"PYSEC-2026-938","title":" TensorFlow vulnerable to segfault in `RaggedBincount`","description":"### Impact\nIf `RaggedBincount` is given an empty input tensor `splits`, it results in a segfault that can be used to trigger a denial of service attack.\n```python\nimport tensorflow as tf\nbinary_output = True\nsplits = tf.random.uniform(shape=[0], minval=-10000, maxval=10000, dtype=tf.int64, seed=-7430)\nvalues = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.int32, seed=-10000)\nsize = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.int32, seed=-10000)\nweights = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.float32, seed=-10000)\ntf.raw_ops.RaggedBincount(splits=splits, values=values, size=size, weights=weights, binary_output=binary_output)\n```\n\n### Patches\nWe have patched the issue in GitHub commit [7a4591fd4f065f4fa903593bc39b2f79530a74b8](https://github.com/tensorflow/tensorflow/commit/7a4591fd4f065f4fa903593bc39b2f79530a74b8).\n\nThe fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range.\n\n\n### For more information\nPlease consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions.\n\n\n### Attribution\nThis vulnerability has been reported by Di Jin, Secure Systems Labs, Brown University\n","status":"published","published":"2026-07-07T10:17:21.902508Z","modified":"2026-07-07T11:56:44.634121529Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:52:58.117212Z"},{"id":"BIT-tensorflow-2022-35986","title":"Segfault in `RaggedBincount` in TensorFlow","description":"TensorFlow is an open source platform for machine learning. If `RaggedBincount` is given an empty input tensor `splits`, it results in a segfault that can be used to trigger a denial of service attack. We have patched the issue in GitHub commit 7a4591fd4f065f4fa903593bc39b2f79530a74b8. The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. There are no known workarounds for this issue.","status":"published","published":"2024-03-06T11:13:20.501Z","modified":"2026-09-08T08:48:20.510982147Z","updated_at":"2026-11-02T15:28:35.51001Z"},{"id":"openSUSE-SU-2024:12355-1","title":"tensorflow-lite-2.10.0-1.1 on GA media","description":"These are all security issues fixed in the tensorflow-lite-2.10.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T02:37:03.870689Z","updated_at":"2026-11-02T16:58:35.751245Z"}]}}
