LibVNCClient is a library for easy implementation of a VNC client. In versions 0.9.12 through 0.9.15, a malicious (or man-in-the-middle) VNC server can force a connecting libvncclient to write attacker-controlled data past the end of its framebuffer. This is an out-of-bounds heap write with attacker-controlled length, contents, and offset. It needs no authentication (the attacker is the server), works in a default build with default settings, and fires from a single FramebufferUpdate the moment the victim connects. It crashes any client unconditionally (denial of service); we also demonstrated it overwriting an application callback pointer and redirecting execution to attacker-chosen code (code execution) under the default configuration. Commit 540332be3e0acc566fa64da6f1b4680c72c724dd patches the issue.
{
"binaries": [
{
"binary_name": "libvncclient1",
"binary_version": "0.9.10+dfsg-3ubuntu0.16.04.6"
},
{
"binary_name": "libvncserver-config",
"binary_version": "0.9.10+dfsg-3ubuntu0.16.04.6"
},
{
"binary_name": "libvncserver1",
"binary_version": "0.9.10+dfsg-3ubuntu0.16.04.6"
}
]
}{
"binaries": [
{
"binary_name": "italc-client",
"binary_version": "1:2.0.2+dfsg1-4ubuntu0.1"
},
{
"binary_name": "italc-management-console",
"binary_version": "1:2.0.2+dfsg1-4ubuntu0.1"
},
{
"binary_name": "italc-master",
"binary_version": "1:2.0.2+dfsg1-4ubuntu0.1"
},
{
"binary_name": "libitalccore",
"binary_version": "1:2.0.2+dfsg1-4ubuntu0.1"
}
]
}{
"binaries": [
{
"binary_name": "italc-client",
"binary_version": "1:3.0.3+dfsg1-3ubuntu0.1"
},
{
"binary_name": "italc-management-console",
"binary_version": "1:3.0.3+dfsg1-3ubuntu0.1"
},
{
"binary_name": "italc-master",
"binary_version": "1:3.0.3+dfsg1-3ubuntu0.1"
},
{
"binary_name": "libitalccore",
"binary_version": "1:3.0.3+dfsg1-3ubuntu0.1"
}
]
}{
"binaries": [
{
"binary_name": "libveyon-core",
"binary_version": "4.3.1+repack1-2build2"
},
{
"binary_name": "veyon-configurator",
"binary_version": "4.3.1+repack1-2build2"
},
{
"binary_name": "veyon-master",
"binary_version": "4.3.1+repack1-2build2"
},
{
"binary_name": "veyon-plugins",
"binary_version": "4.3.1+repack1-2build2"
},
{
"binary_name": "veyon-service",
"binary_version": "4.3.1+repack1-2build2"
}
]
}{
"binaries": [
{
"binary_name": "libveyon-core",
"binary_version": "4.5.3+repack1-1build2"
},
{
"binary_name": "veyon-configurator",
"binary_version": "4.5.3+repack1-1build2"
},
{
"binary_name": "veyon-master",
"binary_version": "4.5.3+repack1-1build2"
},
{
"binary_name": "veyon-plugins",
"binary_version": "4.5.3+repack1-1build2"
},
{
"binary_name": "veyon-service",
"binary_version": "4.5.3+repack1-1build2"
}
]
}{
"binaries": [
{
"binary_name": "libveyon-core",
"binary_version": "4.7.5+repack1-1ubuntu5"
},
{
"binary_name": "veyon-configurator",
"binary_version": "4.7.5+repack1-1ubuntu5"
},
{
"binary_name": "veyon-master",
"binary_version": "4.7.5+repack1-1ubuntu5"
},
{
"binary_name": "veyon-plugins",
"binary_version": "4.7.5+repack1-1ubuntu5"
},
{
"binary_name": "veyon-service",
"binary_version": "4.7.5+repack1-1ubuntu5"
}
]
}{
"binaries": [
{
"binary_name": "libveyon-core",
"binary_version": "4.9.7+repack1-1"
},
{
"binary_name": "veyon-configurator",
"binary_version": "4.9.7+repack1-1"
},
{
"binary_name": "veyon-master",
"binary_version": "4.9.7+repack1-1"
},
{
"binary_name": "veyon-plugins",
"binary_version": "4.9.7+repack1-1"
},
{
"binary_name": "veyon-service",
"binary_version": "4.9.7+repack1-1"
}
]
}{
"binaries": [
{
"binary_name": "libveyon-core",
"binary_version": "4.9.7+repack1-1build1"
},
{
"binary_name": "veyon-configurator",
"binary_version": "4.9.7+repack1-1build1"
},
{
"binary_name": "veyon-master",
"binary_version": "4.9.7+repack1-1build1"
},
{
"binary_name": "veyon-plugins",
"binary_version": "4.9.7+repack1-1build1"
},
{
"binary_name": "veyon-service",
"binary_version": "4.9.7+repack1-1build1"
}
]
}