first commit
Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled
Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled
This commit is contained in:
57
base/cups-browsed/2.0.1/Dockerfile
Normal file
57
base/cups-browsed/2.0.1/Dockerfile
Normal file
@@ -0,0 +1,57 @@
|
||||
FROM debian:bookworm
|
||||
|
||||
LABEL phith0n="phithon <root@leavesongs.com>"
|
||||
|
||||
RUN set -ex \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends build-essential gcc make pkg-config wget ca-certificates bc ghostscript mupdf-tools poppler-utils dbus \
|
||||
libexif-dev libglib2.0-dev liblcms2-dev libfreetype6-dev libfontconfig-dev libqpdf-dev libpoppler-cpp-dev libgnutls28-dev libdbus-1-dev libcups2-dev \
|
||||
libavahi-glib-dev libavahi-client-dev \
|
||||
&& mkdir -p /usr/src/libcupsfilters /usr/src/cups-filters /usr/src/libppd /usr/src/cups-browsed /usr/src/cups \
|
||||
# install libcupsfilters
|
||||
&& wget -qO- https://github.com/OpenPrinting/libcupsfilters/releases/download/2.1b1/libcupsfilters-2.1b1.tar.gz | tar xz -C /usr/src/libcupsfilters --strip-components=1 \
|
||||
&& cd /usr/src/libcupsfilters \
|
||||
&& CXXFLAGS="-std=c++17" ./configure \
|
||||
&& make -j$(nproc) \
|
||||
&& make install \
|
||||
# install libppd
|
||||
&& wget -qO- https://github.com/OpenPrinting/libppd/releases/download/2.1b1/libppd-2.1b1.tar.gz | tar xz -C /usr/src/libppd --strip-components=1 \
|
||||
&& cd /usr/src/libppd \
|
||||
&& CXXFLAGS="-std=c++17" ./configure \
|
||||
&& make -j$(nproc) \
|
||||
&& make install \
|
||||
# install cups-filters
|
||||
&& wget -qO- https://github.com/OpenPrinting/cups-filters/releases/download/2.0.1/cups-filters-2.0.1.tar.gz | tar xz -C /usr/src/cups-filters --strip-components=1 \
|
||||
&& cd /usr/src/cups-filters \
|
||||
&& CXXFLAGS="-std=c++17" ./configure \
|
||||
&& make -j$(nproc) \
|
||||
&& make install \
|
||||
# install vulnerable cups-browsed
|
||||
&& wget -qO- https://github.com/OpenPrinting/cups-browsed/releases/download/2.0.1/cups-browsed-2.0.1.tar.gz | tar xz -C /usr/src/cups-browsed --strip-components=1 \
|
||||
&& cd /usr/src/cups-browsed \
|
||||
&& CXXFLAGS="-std=c++17" CFLAGS="-g" ./configure \
|
||||
&& make -j$(nproc) \
|
||||
&& make install \
|
||||
# install CUPS
|
||||
&& wget -qO- https://github.com/OpenPrinting/cups/releases/download/v2.4.7/cups-2.4.7-source.tar.gz | tar xz -C /usr/src/cups --strip-components=1 \
|
||||
&& cd /usr/src/cups \
|
||||
&& CXXFLAGS="-std=c++17" ./configure \
|
||||
&& make -j$(nproc) \
|
||||
&& make install \
|
||||
# modify default cups config
|
||||
&& sed -i 's/Listen localhost:631/Listen 0.0.0.0:631/g' /etc/cups/cupsd.conf \
|
||||
&& sed -i 's/Order allow,deny/Order allow,deny\n Allow from all/g' /etc/cups/cupsd.conf \
|
||||
# clean
|
||||
&& rm -rf /usr/src/* \
|
||||
&& apt-get remove -y --purge build-essential gcc make pkg-config bc \
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
||||
RUN set -ex \
|
||||
&& chmod +x /docker-entrypoint.sh
|
||||
|
||||
EXPOSE 631/tcp 631/udp
|
||||
ENTRYPOINT [ "bash", "/docker-entrypoint.sh" ]
|
||||
CMD [ "cups-browsed", "--debug" ]
|
12
base/cups-browsed/2.0.1/docker-entrypoint.sh
Normal file
12
base/cups-browsed/2.0.1/docker-entrypoint.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$1" = "cups" ]; then
|
||||
/etc/init.d/dbus start
|
||||
elif [ "$1" = "cups-browsed" ]; then
|
||||
/etc/init.d/dbus start
|
||||
cupsd
|
||||
fi
|
||||
|
||||
exec "$@"
|
Reference in New Issue
Block a user