Calling the wide scanf family of functions (swscanf, fwscanf, wscanf, vswscanf, vfwscanf and vwscanf) with a %s or %[ conversion without the 'l' length modifier in the GNU C Library version 2.2 to version 2.44 writes an extra null byte one past the end of the destination array when the converted multibyte string and its terminating null byte exactly fill that array. These conversions store each wide input character into the caller's char array as a multibyte sequence. The conversion ends with the sequence that returns to the initial shift state, which also stores the terminating null byte, and the functions then append a second null byte. A destination sized for the converted string and one terminator, as the C standard requires the caller to provide, is therefore written one byte past its end. The out-of-bounds byte is always a null byte, which may corrupt adjacent data or crash the process. An attacker who supplies the input can trigger the overflow with a string whose converted length exactly fills the destination. The narrow scanf functions, the %ls and %l[ conversions into a wchar_t array, and the 'a' and 'm' allocation modifiers are not affected, and storing a wide scanf conversion into a narrow char array is uncommon. This issue affects all architectures and ABIs supported by the GNU C Library.
{
"binaries": [
{
"binary_name": "glibc-source",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc-bin",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc-dev-bin",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc-devtools",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6-amd64",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6-dev-amd64",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6-dev-i386",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6-dev-s390",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6-dev-x32",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6-i386",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6-prof",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6-s390",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "libc6-x32",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "locales",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "locales-all",
"binary_version": "2.35-0ubuntu3.18"
},
{
"binary_name": "nscd",
"binary_version": "2.35-0ubuntu3.18"
}
]
}{
"binaries": [
{
"binary_name": "glibc-source",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc-bin",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc-dev-bin",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc-devtools",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc6",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc6-amd64",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc6-dev-amd64",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc6-dev-i386",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc6-dev-s390",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc6-dev-x32",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc6-i386",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc6-s390",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "libc6-x32",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "locales",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "locales-all",
"binary_version": "2.39-0ubuntu8.12"
},
{
"binary_name": "nscd",
"binary_version": "2.39-0ubuntu8.12"
}
]
}{
"binaries": [
{
"binary_name": "glibc-source",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc-bin",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc-dev-bin",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc-devtools",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc-gconv-modules-extra",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc6",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc6-amd64",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc6-dev-amd64",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc6-dev-i386",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc6-dev-x32",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc6-i386",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "libc6-x32",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "locales",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "locales-all",
"binary_version": "2.43-2ubuntu2.7"
},
{
"binary_name": "nscd",
"binary_version": "2.43-2ubuntu2.7"
}
]
}{
"binaries": [
{
"binary_name": "glibc-source",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc-bin",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc-dev-bin",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc-devtools",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc-gconv-modules-extra",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc6",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc6-amd64",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc6-dev-amd64",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc6-dev-i386",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc6-dev-x32",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc6-i386",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "libc6-x32",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "locales",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "locales-all",
"binary_version": "2.44-1ubuntu2.1"
},
{
"binary_name": "nscd",
"binary_version": "2.44-1ubuntu2.1"
}
]
}{
"binaries": [
{
"binary_name": "eglibc-source",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc-bin",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc-dev-bin",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-amd64",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-armel",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-dev-amd64",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-dev-armel",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-dev-i386",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-dev-x32",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-i386",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-pic",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-prof",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "libc6-x32",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "multiarch-support",
"binary_version": "2.19-0ubuntu6.15+esm4"
},
{
"binary_name": "nscd",
"binary_version": "2.19-0ubuntu6.15+esm4"
}
]
}{
"binaries": [
{
"binary_name": "glibc-source",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc-bin",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc-dev-bin",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-amd64",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-armel",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-dev-amd64",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-dev-armel",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-dev-i386",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-dev-s390",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-dev-x32",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-i386",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-pic",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-s390",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "libc6-x32",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "locales",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "locales-all",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "multiarch-support",
"binary_version": "2.23-0ubuntu11.3+esm9"
},
{
"binary_name": "nscd",
"binary_version": "2.23-0ubuntu11.3+esm9"
}
]
}{
"binaries": [
{
"binary_name": "glibc-source",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc-bin",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc-dev-bin",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-amd64",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-armel",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-dev-amd64",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-dev-armel",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-dev-i386",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-dev-s390",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-dev-x32",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-i386",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-lse",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-pic",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-s390",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "libc6-x32",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "locales",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "locales-all",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "multiarch-support",
"binary_version": "2.27-3ubuntu1.6+esm6"
},
{
"binary_name": "nscd",
"binary_version": "2.27-3ubuntu1.6+esm6"
}
]
}{
"binaries": [
{
"binary_name": "glibc-source",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc-bin",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc-dev-bin",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-amd64",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-armel",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-dev-amd64",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-dev-armel",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-dev-i386",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-dev-s390",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-dev-x32",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-i386",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-lse",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-pic",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-prof",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-s390",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "libc6-x32",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "locales",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "locales-all",
"binary_version": "2.31-0ubuntu9.18+esm1"
},
{
"binary_name": "nscd",
"binary_version": "2.31-0ubuntu9.18+esm1"
}
]
}