Skip to content
HighVulnerability

CVE-2022-41894: TensorFlow Lite buffer overflow in CONV_3D_TRANSPOSE reference kernel

Identifier
CVE-2022-41894
Published
Record updated
View JSON
Affected
  • tensorflow < 2.8.4, fixed in 2.8.4, released November 16, 2022, 3 days before disclosure
  • tensorflow >= 2.9.0, < 2.9.3, fixed in 2.9.3, released November 16, 2022, 3 days before disclosure
  • tensorflow >= 2.10.0, < 2.10.1, fixed in 2.10.1, released November 16, 2022, 3 days before disclosure
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.6%

Summary

The reference kernel of the `CONV_3D_TRANSPOSE` operator in TensorFlow Lite increments data_ptr by num_channels instead of output_num_channels when adding the bias. When input and output channel counts differ, this causes a buffer overflow if num_channels > output_num_channels. An attacker can craft a model with a chosen number of input channels to write specific values through the layer's bias outside the buffer bounds, but only when the reference kernel resolver is used in the interpreter.

Mitigation

Patched in GitHub commit 72c0bdcb25305b0b36842d746cc61d72658d2941. The fix will be included in TensorFlow 2.11, and the commit will be cherry-picked to TensorFlow 2.10.1, 2.9.3, and 2.8.4.