Merge pull request #9066 from paul-elliott-arm/fix_ubsan_mp_aead_gcm_3.6

[Backport 3.6] Add early exit if zero length AEAD additional data passed in.
This commit is contained in:
Gilles Peskine 2024-04-30 09:48:24 +00:00 committed by GitHub
commit 3dbb502098
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 0 deletions

View File

@ -0,0 +1,3 @@
Bugfix
* Fix undefined behaviour (incrementing a NULL pointer by zero length) when
passing in zero length additional data to multipart AEAD.

View File

@ -5194,6 +5194,12 @@ psa_status_t psa_aead_update_ad(psa_aead_operation_t *operation,
goto exit;
}
/* No input to add (zero length), nothing to do. */
if (input_length == 0) {
status = PSA_SUCCESS;
goto exit;
}
if (operation->lengths_set) {
if (operation->ad_remaining < input_length) {
status = PSA_ERROR_INVALID_ARGUMENT;