mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-27 04:20:38 -09:00
This fixes the following vulnerability: - CVE-2025-55763 Buffer Overflow in the URI parser of CivetWeb 1.14 through 1.16 (latest) allows a remote attacker to achieve remote code execution via a crafted HTTP request. This vulnerability is triggered during request processing and may allow an attacker to corrupt heap memory, potentially leading to denial of service or arbitrary code execution. For more information, see: - https://nvd.nist.gov//vuln/detail/CVE-2025-55763 -76e222bcb7Signed-off-by: Thomas Perale <thomas.perale@mind.be> Signed-off-by: Julien Olivain <ju.o@free.fr> (cherry picked from commit426d7635c7) Signed-off-by: Thomas Perale <thomas.perale@mind.be>
109 lines
3.1 KiB
Makefile
109 lines
3.1 KiB
Makefile
################################################################################
|
|
#
|
|
# civetweb
|
|
#
|
|
################################################################################
|
|
|
|
CIVETWEB_VERSION = 1.16
|
|
CIVETWEB_SITE = $(call github,civetweb,civetweb,v$(CIVETWEB_VERSION))
|
|
CIVETWEB_LICENSE = MIT
|
|
CIVETWEB_LICENSE_FILES = LICENSE.md
|
|
CIVETWEB_CPE_ID_VALID = YES
|
|
|
|
# 0002-Fix-heap-overflow-in-directory-URI-slash-redirection.patch
|
|
CIVETWEB_IGNORE_CVES += CVE-2025-55763
|
|
|
|
CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1 \
|
|
$(if $(BR2_INSTALL_LIBSTDCPP),WITH_CPP=1)
|
|
CIVETWEB_COPT = -DHAVE_POSIX_FALLOCATE=0
|
|
CIVETWEB_LIBS = -lpthread -lm
|
|
CIVETWEB_SYSCONFDIR = /etc
|
|
CIVETWEB_HTMLDIR = /var/www
|
|
CIVETWEB_INSTALL_OPTS = \
|
|
DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \
|
|
CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \
|
|
HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \
|
|
SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)"
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),)
|
|
CIVETWEB_COPT += -DNO_ATOMICS=1
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LUAJIT),y)
|
|
CIVETWEB_CONF_OPTS += WITH_LUAJIT_SHARED=1
|
|
CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs luajit` -ldl
|
|
CIVETWEB_DEPENDENCIES += host-pkgconf luajit
|
|
else ifeq ($(BR2_PACKAGE_LUA):$(BR2_STATIC_LIBS),y:)
|
|
CIVETWEB_CONF_OPTS += WITH_LUA=1 WITH_LUA_SHARED=1 LUA_SHARED_LIB_FLAG=''
|
|
CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs lua`
|
|
CIVETWEB_DEPENDENCIES += host-pkgconf lua
|
|
ifeq ($(BR2_PACKAGE_LUA_5_1),y)
|
|
CIVETWEB_CONF_OPTS += WITH_LUA_VERSION=501
|
|
else ifeq ($(BR2_PACKAGE_LUA_5_3),y)
|
|
CIVETWEB_CONF_OPTS += WITH_LUA_VERSION=503
|
|
else ifeq ($(BR2_PACKAGE_LUA_5_4),y)
|
|
CIVETWEB_CONF_OPTS += WITH_LUA_VERSION=504
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
CIVETWEB_COPT += -DNO_SSL_DL
|
|
CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl`
|
|
CIVETWEB_DEPENDENCIES += openssl host-pkgconf
|
|
else
|
|
CIVETWEB_COPT += -DNO_SSL
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
|
CIVETWEB_CONF_OPTS += WITH_ZLIB=1
|
|
CIVETWEB_LIBS += -lz
|
|
CIVETWEB_DEPENDENCIES += zlib
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_CIVETWEB_SERVER),y)
|
|
CIVETWEB_BUILD_TARGETS += build
|
|
CIVETWEB_INSTALL_TARGETS += install
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_CIVETWEB_LIB),y)
|
|
CIVETWEB_INSTALL_STAGING = YES
|
|
CIVETWEB_INSTALL_TARGETS += install-headers
|
|
|
|
ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
|
|
CIVETWEB_BUILD_TARGETS += lib
|
|
CIVETWEB_INSTALL_TARGETS += install-lib
|
|
endif
|
|
|
|
ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
|
|
CIVETWEB_BUILD_TARGETS += slib
|
|
CIVETWEB_INSTALL_TARGETS += install-slib
|
|
endif
|
|
|
|
endif # BR2_PACKAGE_CIVETWEB_LIB
|
|
|
|
define CIVETWEB_BUILD_CMDS
|
|
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_BUILD_TARGETS) \
|
|
$(CIVETWEB_CONF_OPTS) \
|
|
COPT="$(CIVETWEB_COPT)" LIBS="$(CIVETWEB_LIBS)"
|
|
endef
|
|
|
|
define CIVETWEB_INSTALL_STAGING_CMDS
|
|
mkdir -p $(STAGING_DIR)/usr/include
|
|
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \
|
|
PREFIX="$(STAGING_DIR)/usr" \
|
|
$(CIVETWEB_INSTALL_OPTS) \
|
|
$(CIVETWEB_CONF_OPTS) \
|
|
COPT='$(CIVETWEB_COPT)'
|
|
endef
|
|
|
|
define CIVETWEB_INSTALL_TARGET_CMDS
|
|
mkdir -p $(TARGET_DIR)/usr/include
|
|
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \
|
|
PREFIX="$(TARGET_DIR)/usr" \
|
|
$(CIVETWEB_INSTALL_OPTS) \
|
|
$(CIVETWEB_CONF_OPTS) \
|
|
COPT='$(CIVETWEB_COPT)'
|
|
endef
|
|
|
|
$(eval $(generic-package))
|