Tor before 0.2.8.9 and 0.2.9.x before 0.2.9.4-alpha had internal functions that were entitled to expect that buf_t data had NUL termination but the implementation of or/buffers.c did not ensure that NUL termination was present which allows remote attackers to cause a denial of service (client hidden service relay or authority crash) via crafted data.