Fix library CVEs in sdc-workflow-designer
[sdc/sdc-workflow-designer.git] / distribution / src / main / docker / Dockerfile
1 FROM ubuntu:16.04
2
3 MAINTAINER "Lv Bo" <lv.bo163@zte.com.cn>
4
5 EXPOSE 8080
6
7 #install openjdk-1.8
8 #RUN sed -i 's#http://archive.ubuntu.com#http://mirrors.163.com#g' /etc/apt/sources.list
9 RUN apt-get update
10 RUN apt-get install -y openjdk-8-jdk
11
12 RUN apt-get -y upgrade
13
14
15 # Upgrade specific system libraries to fix CVE vulnerabilities
16 RUN echo "deb http://archive.ubuntu.com/ubuntu/ bionic main restricted" >> /etc/apt/sources.list && \
17     echo "deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted" >> /etc/apt/sources.list && \
18     apt-get -y update
19
20 # krb5 1.16-2build1
21 #   For CVE-2017-15088 CVE-2017-11462
22 # libvorbis 1.3.5-4.2
23 #   For CVE-2017-14632 CVE-2017-14160
24 # libx11 2:1.6.4-3
25 #    For CVE-2016-7943 CVE-2016-7942
26 # libxtst 1.2.3-1
27 #    For CVE-2016-7951
28 # ncurses 6.1-1ubuntu1
29 #    For CVE-2017-10685 CVE-2017-10684
30 # libsqllite3-0 3.22.0-1
31 #   For CVE-2017-10989
32 # libtiff5 4.0.9-5
33 #   For CVE-2017-9117 CVE-2016-9540 CVE-2016-9539 CVE-2016-9538 CVE-2016-9537 CVE-2016-9536 CVE-2016-9535 CVE-2016-9534 CVE-2016-9533 CVE-2015-8668 CVE-2015-7554 CVE-2016-6223 CVE-2017-5563 CVE-2016-3621 CVE-2016-8331
34 # shadow 1:4.5-1ubuntu1
35 #   For CVE-2017-12424
36 # perl-base 5.26.1-6
37 #   For CVE-2015-8608 CVE-2017-12883
38 # openssl 1.1.0g-2ubuntu4
39 #   For CVE-2016-6303 CVE-2016-2182 CVE-2016-2177 CVE-2016-2176
40 # zlib1g 1:1.2.11.dfsg-0ubuntu2
41 #   For CVE-2016-9843 CVE-2016-9841 CVE-2016-9842 CVE-2016-9840
42 # libdb5.3
43 #   CVE-2016-3418 CVE-2016-0694 CVE-2016-0692 CVE-2016-0689 CVE-2016-0682
44 # libcairo2
45 #   CVE-2017-9814
46 # libc-bin libc6 multiarch-support
47 #   CVE-2018-6485
48 # libgtk2.0-0 libgtk2.0-bin libgtk2.0-common
49 #   CVE-2014-1949
50 # libgcrypt20
51 #   CVE-2017-0379
52 # libxi6
53 #   CVE-2016-7946 CVE-2016-7945
54 # libxml2
55 #   CVE-2016-9318
56 # libpcre3
57 #   CVE-2017-6004
58
59 RUN apt-get -y --only-upgrade install \
60     libkrb5-3 krb5-locales \
61     libvorbis0a \
62     libx11-6 libx11-data libx11-doc libx11-xcb1 \
63     libxtst6 \
64     ncurses-base ncurses-bin libncurses5 libncursesw5 \
65     libsqlite3-0 \
66     libtiff5 \
67     passwd \
68     perl-base \
69     libssl1.0.0 \
70     openssl \
71     zlib1g \
72     libdb5.3 \
73     libcairo2 \
74     libc-bin libc6 multiarch-support \
75     libgtk2.0-0 libgtk2.0-bin libgtk2.0-common \
76     libgcrypt20 \
77     libxi6 \
78     libxml2 \
79     libpcre3 && \
80     apt-get -y autoremove
81
82 #configure the JDK
83 RUN sed -i 's|#networkaddress.cache.ttl=-1|networkaddress.cache.ttl=10|' /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security
84 ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
85 ENV PATH $PATH:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin
86 ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
87 ENV JRE_HOME ${JAVA_HOME}/jre
88
89 #add workflow designer related resources to the docker image
90 RUN mkdir /home/sdc-workflow-designer
91 WORKDIR /home/sdc-workflow-designer
92 ADD sdc-workflow-designer-*-linux64.tar.gz /home/sdc-workflow-designer/
93 RUN chmod 755 /home/sdc-workflow-designer/bin/*.sh
94
95 ENTRYPOINT /home/sdc-workflow-designer/bin/run.sh
96