All content and materials on this
site are provided "as is". TI and its respective suppliers and providers of content make no representations about
the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these
materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a
particular purpose, title and non-infringement of any third party intellectual property right. No license, either
express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a
license from a third party, or a license from TI.
There was a vulnerability in the CCM example of the CryptoCC26XX.h header.
The decryption operation incorrectly set the .msgOut field to the same location as the encrypted MAC in the cyphertext. During the course of the driver operation, the MAC that is recalculated over the decrypted message, is written to .msgOut. This recalculated MAC is then compared to the MAC in the cyphertext. If .msgOut is at the same location as the MAC in the cyphertext, the original MAC will be overwritten and the new MAC will be compared against itself.
This was the case in the example in the header file. The verification could not fail and the authentication was thus ineffective.
There was a vulnerability in the CCM example of the CryptoCC26XX.h header.
The decryption operation incorrectly set the .msgOut field to the same location as the encrypted MAC in the cyphertext. During the course of the driver operation, the MAC that is recalculated over the decrypted message, is written to .msgOut. This recalculated MAC is then compared to the MAC in the cyphertext. If .msgOut is at the same location as the MAC in the cyphertext, the original MAC will be overwritten and the new MAC will be compared against itself.
This was the case in the example in the header file. The verification could not fail and the authentication was thus ineffective.