| 제목 | Cesanta Mongoose 7.20 Improper Verification of Cryptographic Signature |
|---|
| 설명 | The mg_aes_gcm_decrypt() function in /src/tls_aes128.c never verifies the GCM authentication tag during decryption, completely bypassing the authentication guarantee of the AEAD cipher. The function's signature does not even accept a tag or associated data (AAD) parameter, and internally hardcodes tag_len = 0 and tag_buf = NULL. By contrast, the corresponding mg_aes_gcm_encrypt() function correctly accepts and generates tags with AAD, creating a stark asymmetry where outgoing records are properly tagged but incoming records are never authenticated. Because AES-GCM uses AES-CTR mode for encryption, this allows a man-in-the-middle attacker to perform bit-flipping attacks on any TLS record, modifying encrypted data in transit with byte-level precision, and the device running Mongoose will accept the tampered record as authentic. This renders TLS connections using the built-in TLS implementation with AES-128-GCM completely unauthenticated.
Vendor was made aware of the vulnerability and a patch was released in version 7.21 |
|---|
| 원천 | ⚠️ https://github.com/dwBruijn/CVEs/blob/main/Mongoose/AESGCM.md |
|---|
| 사용자 | dwbruijn (UID 93926) |
|---|
| 제출 | 2026. 04. 03. AM 07:25 (2 개월 ago) |
|---|
| 모더레이션 | 2026. 04. 24. PM 09:13 (22 days later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 359529 [Cesanta Mongoose 까지 7.20 GCM Authentication Tag /src/tls_aes128.c mg_aes_gcm_decrypt 약한 인증] |
|---|
| 포인트들 | 20 |
|---|