457837087d
Fixes the following security issues: CVE-2019-11365: An issue was discovered in atftpd in atftp 0.7.1. A remote attacker may send a crafted packet triggering a stack-based buffer overflow due to an insecurely implemented strncpy call. The vulnerability is triggered by sending an error packet of 3 bytes or fewer. There are multiple instances of this vulnerable strncpy pattern within the code base, specifically within tftpd_file.c, tftp_file.c, tftpd_mtftp.c, and tftp_mtftp.c. CVE-2019-11366: An issue was discovered in atftpd in atftp 0.7.1. It does not lock the thread_list_mutex mutex before assigning the current thread data structure. As a result, the daemon is vulnerable to a denial of service attack due to a NULL pointer dereference. If thread_data is NULL when assigned to current, and modified by another thread before a certain tftpd_list.c check, there is a crash when dereferencing current->next. For details, see https://pulsesecurity.co.nz/advisories/atftpd-multiple-vulnerabilities Patch 0001-Makefile.am-link-against-libpthread-for-atftp.patch patches Makefile.am, so add _AUTORECONF. CFLAGS is now correctly handled since commit f9dbb96844167f (configure.ac: fix hard setting of CFLAGS), so drop the workaround about passing -fgnu89-inline in CPPFLAGS. Add a hash for the license file. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Reviewed-by: Ryan Barnett <ryan.barnett@rockwellcollins.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
38 lines
1.1 KiB
Makefile
38 lines
1.1 KiB
Makefile
################################################################################
|
|
#
|
|
# atftp
|
|
#
|
|
################################################################################
|
|
|
|
ATFTP_VERSION = 0.7.2
|
|
ATFTP_SITE = http://sourceforge.net/projects/atftp/files
|
|
ATFTP_LICENSE = GPL-2.0+
|
|
ATFTP_LICENSE_FILES = LICENSE
|
|
# 0001-Makefile.am-link-against-libpthread-for-atftp.patch patches Makefile.am
|
|
ATFTP_AUTORECONF = YES
|
|
ATFTP_CONF_OPTS = --disable-libwrap --disable-mtftp
|
|
# For static we need to explicitly link against libpthread
|
|
ATFTP_LIBS = -lpthread
|
|
# -fgnu89-inline is needed to avoid multiple definition error with gcc 5. See
|
|
# https://gcc.gnu.org/gcc-5/porting_to.html.
|
|
ATFTP_CONF_ENV = LIBS="$(ATFTP_LIBS)" \
|
|
CFLAGS="$(TARGET_CFLAGS) -fgnu89-inline"
|
|
|
|
ifeq ($(BR2_PACKAGE_READLINE),y)
|
|
ATFTP_DEPENDENCIES += readline
|
|
ATFTP_CONF_OPTS += --enable-libreadline
|
|
# For static, readline links with ncurses
|
|
ATFTP_LIBS += -lncurses
|
|
else
|
|
ATFTP_CONF_OPTS += --disable-libreadline
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_PCRE),y)
|
|
ATFTP_DEPENDENCIES += pcre
|
|
ATFTP_CONF_OPTS += --enable-libpcre
|
|
else
|
|
ATFTP_CONF_OPTS += --disable-libpcre
|
|
endif
|
|
|
|
$(eval $(autotools-package))
|