The X25519 x86_64 assembly implementation fails to clear the most significant bit during the final modular reduction, so the computed result may not be fully reduced modulo the field prime 2^255 - 19. This can leave the field element in a non-canonical form, producing an incorrect result from the scalar multiplication and potentially a wrong shared secret. The final carry-propagation chains in the x64 and AVX2 reduction routines could overflow into the top bit, and the high limb was not masked afterward, so the 255-bit field element was left non-canonical.
The product performs a calculation that generates incorrect or unintended results that are later used in security-critical decisions or resource management.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Wolfssl | Wolfssl | 5.6.4 (including) | 5.9.2 (excluding) |
| Wolfssl | Ubuntu | questing | * |