An issue was discovered in Mbed TLS 3.x before 3.6.6. An out-of-bounds read vulnerability in mbedtlsccmfinish() in library/ccm.c allows attackers to obtain adjacent CCM context data via invocation of the multipart CCM API with an oversized taglen parameter. This is caused by missing validation of the taglen parameter against the size of the internal 16-byte authentication buffer. The issue affects the public multipart CCM API in Mbed TLS 3.x, where mbedtlsccmfinish() can be invoked directly by applications. In Mbed TLS 4.x versions prior to the fix, the same missing validation exists in the internal implementation; however, the function is not exposed as part of the public API. Exploitation requires application-level invocation of the multipart CCM API.
{
"binaries": [
{
"binary_version": "2.2.1-2ubuntu0.3",
"binary_name": "libmbedcrypto0"
},
{
"binary_version": "2.2.1-2ubuntu0.3",
"binary_name": "libmbedtls-dev"
},
{
"binary_version": "2.2.1-2ubuntu0.3",
"binary_name": "libmbedtls10"
},
{
"binary_version": "2.2.1-2ubuntu0.3",
"binary_name": "libmbedx509-0"
}
]
}{
"binaries": [
{
"binary_version": "3.6.2-3ubuntu1",
"binary_name": "libmbedcrypto16"
},
{
"binary_version": "3.6.2-3ubuntu1",
"binary_name": "libmbedtls-dev"
},
{
"binary_version": "3.6.2-3ubuntu1",
"binary_name": "libmbedtls21"
},
{
"binary_version": "3.6.2-3ubuntu1",
"binary_name": "libmbedx509-7"
}
]
}{
"binaries": [
{
"binary_version": "2.8.0-1ubuntu0.1~esm1",
"binary_name": "libmbedcrypto1"
},
{
"binary_version": "2.8.0-1ubuntu0.1~esm1",
"binary_name": "libmbedtls-dev"
},
{
"binary_version": "2.8.0-1ubuntu0.1~esm1",
"binary_name": "libmbedtls10"
},
{
"binary_version": "2.8.0-1ubuntu0.1~esm1",
"binary_name": "libmbedx509-0"
}
]
}{
"binaries": [
{
"binary_version": "2.16.4-1ubuntu2+esm1",
"binary_name": "libmbedcrypto3"
},
{
"binary_version": "2.16.4-1ubuntu2+esm1",
"binary_name": "libmbedtls-dev"
},
{
"binary_version": "2.16.4-1ubuntu2+esm1",
"binary_name": "libmbedtls12"
},
{
"binary_version": "2.16.4-1ubuntu2+esm1",
"binary_name": "libmbedx509-0"
}
]
}{
"binaries": [
{
"binary_version": "2.28.0-1ubuntu0.1~esm1",
"binary_name": "libmbedcrypto7"
},
{
"binary_version": "2.28.0-1ubuntu0.1~esm1",
"binary_name": "libmbedtls-dev"
},
{
"binary_version": "2.28.0-1ubuntu0.1~esm1",
"binary_name": "libmbedtls14"
},
{
"binary_version": "2.28.0-1ubuntu0.1~esm1",
"binary_name": "libmbedx509-1"
}
]
}{
"binaries": [
{
"binary_version": "2.28.8-1ubuntu0.1~esm1",
"binary_name": "libmbedcrypto7t64"
},
{
"binary_version": "2.28.8-1ubuntu0.1~esm1",
"binary_name": "libmbedtls-dev"
},
{
"binary_version": "2.28.8-1ubuntu0.1~esm1",
"binary_name": "libmbedtls14t64"
},
{
"binary_version": "2.28.8-1ubuntu0.1~esm1",
"binary_name": "libmbedx509-1t64"
}
]
}