CVE-2023-27579
📋 TL;DR
This CVE describes a floating-point exception (FPE) vulnerability in TensorFlow's TFLite component when constructing models with a filter_input_channel parameter less than 1. This can cause denial of service through application crashes. Users running vulnerable TensorFlow versions for machine learning inference are affected.
💻 Affected Systems
- TensorFlow
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Application crash leading to denial of service, potentially disrupting machine learning inference pipelines and dependent services.
Likely Case
Application instability or crashes when processing malicious or malformed TFLite models, causing service interruptions.
If Mitigated
Minimal impact with proper input validation and model vetting procedures in place.
🎯 Exploit Status
No public exploit code identified, but the vulnerability is simple to trigger with basic TFLite model manipulation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: TensorFlow 2.12 or 2.11.1
Vendor Advisory: https://github.com/tensorflow/tensorflow/security/advisories/GHSA-5w96-866f-6rm8
Restart Required: Yes
Instructions:
1. Update TensorFlow to version 2.12 or 2.11.1 using pip: 'pip install --upgrade tensorflow==2.12.0' or 'pip install --upgrade tensorflow==2.11.1'. 2. Restart all services using TensorFlow. 3. Rebuild any containers or deployments with the updated version.
🔧 Temporary Workarounds
Input validation for TFLite models
allImplement validation to reject TFLite models with filter_input_channel parameter values less than 1 before processing.
Model vetting process
allEstablish a review process for all TFLite models before deployment to production environments.
🧯 If You Can't Patch
- Implement strict input validation to reject TFLite models with suspicious parameter values.
- Isolate TensorFlow inference services in restricted network segments to limit blast radius.
🔍 How to Verify
Check if Vulnerable:
Check TensorFlow version: 'python -c "import tensorflow as tf; print(tf.__version__)"'. If version is below 2.12 and not 2.11.1, you are vulnerable.
Check Version:
python -c "import tensorflow as tf; print(tf.__version__)"
Verify Fix Applied:
After updating, verify version is 2.12 or 2.11.1 using the same command. Test with sample TFLite models containing filter_input_channel < 1 to ensure no crashes occur.
📡 Detection & Monitoring
Log Indicators:
- Application crashes with floating-point exception errors
- TensorFlow/TFLite process termination logs
- Error messages containing 'filter_input_channel' or FPE references
Network Indicators:
- Unusual volume of TFLite model uploads to inference endpoints
- Requests with malformed model parameters
SIEM Query:
source="tensorflow.log" AND ("FPE" OR "floating point" OR "crash" OR "filter_input_channel")
🔗 References
- https://github.com/tensorflow/tensorflow/commit/34f8368c535253f5c9cb3a303297743b62442aaa
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-5w96-866f-6rm8
- https://github.com/tensorflow/tensorflow/commit/34f8368c535253f5c9cb3a303297743b62442aaa
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-5w96-866f-6rm8