The vulnerability resides in the daemon systemd-resolved and can be triggered using a TCP payload, according to Ubuntu developer Chris Coulson.
This component can be tricked into allocating less memory than needed for a look-up. When the reply is bigger it overflows the buffer allowing an attacker to overwrite memory.
This would result in the process either crashing or it could allow for code execution remotely.
The error was introduced into the systemd code in June 2015 in version 223.“A malicious DNS server can exploit this by responding with a specially crafted TCP payload to trick systemd-resolved in to allocating a buffer that’s too small, and subsequently write arbitrary data beyond the end of it,” is how Coulson put it.
Many Linux distributions have adopted systemd as their default init system but some have not yet moved from the old SysV init system.
Ubuntu has released patches for its two most recent releases — 16.10 and 17.04 — to fix the issue.
- 30 June 2017
- Written by Sam Varghese