FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.26.0, FreeRDP's planar bitmap decoder has an out-of-bounds heap write when decoding RLE planar data. In libfreerdp/codec/planar.c, freerdpbitmapdecompressplanar() validates the X destination coordinate nXDst against the caller-provided destination stride (nDstStep) even when it is writing into the internal temp buffer pTempData. An attacker can bypass the check with a large nDstStep and a large nXDst, causing planardecompressplanerle() to write past the end of pTempData. This vulnerability is fixed in 3.26.0.
{
"binaries": [
{
"binary_name": "freerdp2-shadow-x11",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "freerdp2-wayland",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "freerdp2-x11",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "libfreerdp-client2-2",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "libfreerdp-server2-2",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "libfreerdp-shadow-subsystem2-2",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "libfreerdp-shadow2-2",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "libfreerdp2-2",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "libuwac0-0",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "libwinpr-tools2-2",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "libwinpr2-2",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
},
{
"binary_name": "winpr-utils",
"binary_version": "2.6.1+dfsg1-3ubuntu2.10"
}
]
}{
"binaries": [
{
"binary_name": "freerdp3-shadow-x11",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "freerdp3-wayland",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "freerdp3-x11",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "libfreerdp-client3-3",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "libfreerdp-server3-3",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "libfreerdp-shadow-subsystem3-3",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "libfreerdp-shadow3-3",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "libfreerdp3-3",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "libwinpr-tools3-3",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "libwinpr3-3",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
},
{
"binary_name": "winpr3-utils",
"binary_version": "3.5.1+dfsg1-0ubuntu1.5"
}
]
}{
"binaries": [
{
"binary_name": "freerdp3-proxy",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "freerdp3-proxy-modules",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "freerdp3-sdl",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "freerdp3-shadow-x11",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "freerdp3-wayland",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "freerdp3-x11",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "libfreerdp-client3-3",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "libfreerdp-server-proxy3-3",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "libfreerdp-server3-3",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "libfreerdp-shadow-subsystem3-3",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "libfreerdp-shadow3-3",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "libfreerdp3-3",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "libwinpr-tools3-3",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "libwinpr3-3",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
},
{
"binary_name": "winpr3-utils",
"binary_version": "3.16.0+dfsg-2ubuntu0.4"
}
]
}{
"binaries": [
{
"binary_name": "freerdp-proxy",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp-proxy-modules",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp-sdl",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp-shadow-x11",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp-wayland",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp-x11",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp3-proxy",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp3-proxy-modules",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp3-sdl",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp3-shadow-x11",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp3-wayland",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "freerdp3-x11",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "libfreerdp-client3-3",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "libfreerdp-server-proxy3-3",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "libfreerdp-server3-3",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "libfreerdp-shadow-subsystem3-3",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "libfreerdp-shadow3-3",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "libfreerdp3-3",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "libwinpr-tools3-3",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "libwinpr3-3",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "winpr-utils",
"binary_version": "3.24.2+dfsg-1ubuntu1"
},
{
"binary_name": "winpr3-utils",
"binary_version": "3.24.2+dfsg-1ubuntu1"
}
]
}{
"binaries": [
{
"binary_name": "freerdp2-shadow-x11",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "freerdp2-wayland",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "freerdp2-x11",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "libfreerdp-client2-2",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "libfreerdp-server2-2",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "libfreerdp-shadow-subsystem2-2",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "libfreerdp-shadow2-2",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "libfreerdp2-2",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "libuwac0-0",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "libwinpr-tools2-2",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "libwinpr2-2",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
},
{
"binary_name": "winpr-utils",
"binary_version": "2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"
}
]
}{
"binaries": [
{
"binary_name": "freerdp2-shadow-x11",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "freerdp2-wayland",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "freerdp2-x11",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "libfreerdp-client2-2",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "libfreerdp-server2-2",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "libfreerdp-shadow-subsystem2-2",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "libfreerdp-shadow2-2",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "libfreerdp2-2",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "libuwac0-0",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "libwinpr-tools2-2",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "libwinpr2-2",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
},
{
"binary_name": "winpr-utils",
"binary_version": "2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"
}
]
}{
"binaries": [
{
"binary_name": "freerdp2-shadow-x11",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "freerdp2-wayland",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "freerdp2-x11",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "libfreerdp-client2-2t64",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "libfreerdp-server2-2t64",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "libfreerdp-shadow-subsystem2-2t64",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "libfreerdp-shadow2-2t64",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "libfreerdp2-2t64",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "libuwac0-0t64",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "libwinpr-tools2-2t64",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "libwinpr2-2t64",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
},
{
"binary_name": "winpr-utils",
"binary_version": "2.11.5+dfsg1-1ubuntu0.1~esm5"
}
]
}