Skip to content

Commit 176d5d7

Browse files
committed
SYS-674 skip an unremediated CVE in mythbackend
1 parent 565f9a0 commit 176d5d7

11 files changed

Lines changed: 37 additions & 26 deletions

File tree

.image-gitlab-ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,12 @@ security_scan_trivy:
5151
TRIVY_IGNORE: >-
5252
CVE-2023-31484,CVE-2023-45853,
5353
CVE-2023-52425,CVE-2024-8176,
54+
CVE-2025-9900,
5455
CVE-2026-0861,CVE-2025-8194,CVE-2025-13699,
5556
CVE-2025-13836,CVE-2025-40914
5657
# Above two rows are for spamassassin under debian trixie
57-
# Below were for blacklist image, there's a won't-fix note for zlib1g
58+
# CVE-2025-9900 is for MythTV 36
59+
# Below are for blacklist image, there's a won't-fix note for zlib1g
5860
# CVE-2023-31484,CVE-2023-45853
5961
TRIVY_OUTPUT: gl-container-scanning-report.json
6062
TRIVY_SEVERITY: HIGH,CRITICAL

ansible/roles/mythfrontend/defaults/main.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,11 @@ ubuntu_apt_keys:
260260
# and in /etc/apt/sources.list.d/google-chrome.list:
261261
# deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
262262
#
263+
# An alternative approach, until Ansible docs explain a better way, is
264+
# described here: https://peateasea.de/avoiding-ansible-apt-key-on-debian/
265+
#
263266
# chrome: 78BD65473CB3BD13
264267
graphics: FCAE110B1118213C
265-
mythbuntu: 13551B881504888C
266268

267269
ubuntu_packages:
268270
- cron
@@ -275,6 +277,7 @@ ubuntu_packages:
275277
- mythtv-common
276278
- mythtv-frontend
277279
- kde-plasma-desktop
280+
- software-properties-common
278281
- xserver-xorg-core
279282
- xserver-xorg-input-all
280283
- xterm
@@ -294,8 +297,6 @@ ubuntu_repo_defaults:
294297
ubuntu_repo_additions:
295298
- deb http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu {{
296299
ansible_distribution_release }} main
297-
- deb http://ppa.launchpad.net/mythbuntu/{{ mythtv_version }}/ubuntu {{
298-
ansible_distribution_release }} main
299300
- deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
300301

301302
ubuntu_repos: "{{ ubuntu_repo_defaults + ubuntu_repo_additions }}"

ansible/roles/mythfrontend/tasks/debian/packages.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
---
22
# packages-ubuntu.yml
33

4-
- name: Import repository keys
4+
- name: Add the mythtv repo
5+
ansible.builtin.apt_repository:
6+
repo: ppa:mythbuntu/{{ mythtv_version }}
7+
8+
- name: Import repository keys for additional repos
59
apt_key:
610
id: "{{ item.value }}"
711
keyserver: keyserver.ubuntu.com

images/mythtv-backend/Dockerfile

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ LABEL org.opencontainers.image.authors="Rich Braun docker@instantlinux.net" \
77
org.label-schema.vcs-ref=$VCS_REF \
88
org.label-schema.vcs-url=https://github.com/instantlinux/docker-tools
99

10-
ENV APACHE_LOG_DIR=/var/log/apache2 \
11-
DBNAME=mythtv \
10+
ENV DBNAME=mythtv \
1211
DBSERVER=db00 \
1312
DEBIAN_FRONTEND=noninteractive \
1413
LANG=en_US.UTF-8 \
@@ -35,18 +34,16 @@ RUN \
3534
curl iputils-ping less lsb-release mariadb-client net-tools \
3635
mythtv-backend=$MYTHTV_VERSION \
3736
mythtv-common=$MYTHTV_VERSION mythtv-transcode-utils=$MYTHTV_VERSION \
38-
libmyth-python libmythtv-perl php-mythtv php8.3 psmisc \
39-
sudo tzdata v4l-utils vim w3m x11-utils xauth xmltv xterm
37+
libmyth-python libmythtv-perl psmisc sudo tzdata v4l-utils vim xmltv
4038

4139
COPY src/ /root/
4240

4341
RUN \
4442
usermod -u $MYTHTV_UID -s /bin/bash mythtv && \
45-
mkdir -p /var/lib/mythtv $APACHE_LOG_DIR && \
43+
mkdir -p /var/lib/mythtv && \
4644
echo "mythtv:mythtv" | chpasswd && \
4745
chown $MYTHTV_UID:$MYTHTV_GID /var/lib/mythtv && \
4846
ln -s /usr/share/doc/mythtv-backend/contrib/user_jobs/mythlink.pl /usr/bin
4947

5048
EXPOSE 5000/udp 5002/udp 5004/udp 6543 6544 6549 65001 65001/udp
51-
VOLUME $APACHE_LOG_DIR
5249
ENTRYPOINT ["/root/entrypoint.sh"]

images/mythtv-backend/helm/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sources:
77
- https://github.com/mythtv/mythtv
88
type: application
99
version: 0.1.18
10-
appVersion: "36.0-fixes.202602111500.0bcc85b590
10+
appVersion: "36.0-fixes.202602111500.0bcc85b590"
1111
dependencies:
1212
- name: chartlib
1313
version: 0.1.8

images/mythtv-backend/helm/values.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,11 @@ authelia:
8888
fqdn: authtotp.example.com
8989
ip: 10.101.1.5
9090
ingress:
91-
enabled: true
92-
# className: ""
91+
# This ingress exposes your MythTV schedule and operational controls to
92+
# the public Internet.
93+
# TODO: change default back to true once the setup wizard screens
94+
# are secured by the authentication framework.
95+
enabled: false
9396
annotations:
9497
cert-manager.io/cluster-issuer: letsencrypt-prod
9598
kubernetes.io/ingress.class: nginx

images/mythtv-backend/src/entrypoint.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,9 @@ localedef -i $(cut -d. -f1 <<< $LANGUAGE) -f $(cut -d. -f2 <<< $LANGUAGE) $LANG
77

88
if [ "$OSTYPE" == "opensuse" ]; then
99
ln -fns /usr/share/zoneinfo/$TZ /etc/localtime
10-
CONF_DIR=/etc/apache2/conf.d
1110
elif [ "$OSTYPE" == "ubuntu" ]; then
1211
if [[ $(cat /etc/timezone) != $TZ ]]; then
1312
echo $TZ > /etc/timezone
14-
DIR=/etc/php/$(php -v|grep PHP | grep -oP "\\d+\.\\d+" | head -1)
15-
echo "date.timezone = $TZ" > $DIR/cli/conf.d/50-tz.ini
1613
dpkg-reconfigure -f noninteractive tzdata
1714
fi
1815
fi

k8s/Makefile.helm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ helm_list:
1212
@helm list --time-format="Mon Jan 2 15:04" --all-namespaces \
1313
--kube-context=sudo
1414

15-
$(CHARTS):: %: helm/%/Chart.lock
15+
# TODO retire values.yaml
16+
$(CHARTS):: %: ../admin/services/values.yaml helm/%/Chart.lock
1617
@echo --$(NOTICE) $@--
1718
ifeq ($(ACTION), delete)
1819
@helm uninstall --kube-context=sudo -n $(K8S_NAMESPACE) $@
@@ -25,7 +26,7 @@ endif
2526

2627
# TODO this is identical to above but for subdir, DRY it out
2728
# the helmify project is just too exhausting
28-
$(INSTANCES):: %: helm/instances/%/Chart.lock
29+
$(INSTANCES):: %: ../admin/services/values.yaml helm/instances/%/Chart.lock
2930
@echo --$(NOTICE) $@--
3031
ifeq ($(ACTION), delete)
3132
@helm uninstall --kube-context=sudo -n $(K8S_NAMESPACE) $@

k8s/README.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,16 @@ ansible-playbook k8s-cplane.yml
144144
Kubernetes should be up and running at this point, with a bare-minimum
145145
configuration.
146146

147-
Set up a local repo to define environment variables. Kubernetes resources
148-
here are defined in the native YAML format but with one extension: they
149-
are parameterized by the use of _envsubst_ which allows values to be
150-
passed in as shell environment variables in the form $VARIABLE_NAME.
147+
Set up a local admin repo to define helm overrides and environment variables, git-cloned under the path ~/docker/k8s/admin. Within the admin repo, create a subdirectory `services` with a file `values.yaml` containing any site-specific overrides, such as:
148+
```
149+
authelia
150+
fqdn: authtotp.mydomain.com
151+
domain: mydomain.com
152+
serviceAccount:
153+
name: instantlinux-privileged
154+
tz: America/Los_Angeles
155+
```
156+
Under a `services/values` subdirectory, put each of your chartname.yaml files with the override settings you need.
151157

152158
Set a symlink from a directory under this one (k8s/secrets) to a
153159
subdirectory in your local administrative repo. This is where you will

k8s/helm/restic/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ sources:
66
- https://github.com/instantlinux/docker-tools
77
- https://github.com/restic/restic
88
type: application
9-
version: 0.1.22
9+
version: 0.1.23
1010
# Remember to update restic==<ver> in values.yaml as releases are published;
1111
# the values.yaml file is not able to reference .Chart.appVersion
12-
appVersion: "0.18.1-r3"
12+
appVersion: "0.18.1-r4"
1313
dependencies:
1414
- name: chartlib
1515
version: 0.1.8

0 commit comments

Comments
 (0)