In glibc 2.26 and earlier there is confusion in the usage of getcwd() by realpath() which can be used to write before the destination buffer leading to a buffer underflow and potential code execution.
seclists.org/oss-sec/2018/q1/38
www.securityfocus.com/bid/102525
www.securitytracker.com/id/1040162
access.redhat.com/errata/RHSA-2018:0805
security.netapp.com/advisory/ntap-20190404-0003/
usn.ubuntu.com/3534-1/
usn.ubuntu.com/3536-1/
www.exploit-db.com/exploits/43775/
www.exploit-db.com/exploits/44889/
www.halfdog.net/Security/2017/LibcRealpathBufferUnderflow/