如何对docker镜像存在的gosu安全漏洞进行修复——筑梦之路

这里以mysql的官方镜像为例进行说明,主要流程为:

  1. 分析镜像存在的安全漏洞具体是什么

  2. 根据分析结果有针对性地进行修复处理

  3. 基于当前镜像进行修复安全漏洞并复核验证

bash 复制代码
# 镜像地址

mysql:8.0.42

安全漏洞现状分析

dockerhub网站上获取该镜像的漏洞信息:

从上图中可知道安全漏洞存在于golang/stdlib 包,总共有59个安全漏洞,该漏洞信息未必就是最新的,因此下面我这里使用trivy工具扫描结果如下:

bash 复制代码
trivy image  mysql:8.0.42
2025-04-19T22:43:32+08:00	INFO	[vuln] Vulnerability scanning is enabled
2025-04-19T22:43:32+08:00	INFO	[secret] Secret scanning is enabled
2025-04-19T22:43:32+08:00	INFO	[secret] If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2025-04-19T22:43:32+08:00	INFO	[secret] Please see also https://trivy.dev/v0.61/docs/scanner/secret#recommendation for faster secret detection
2025-04-19T22:43:32+08:00	INFO	Detected OS	family="oracle" version="9.5"
2025-04-19T22:43:32+08:00	INFO	[oracle] Detecting vulnerabilities...	os_version="9" pkg_num=114
2025-04-19T22:43:32+08:00	INFO	Number of language-specific files	num=2
2025-04-19T22:43:32+08:00	INFO	[gobinary] Detecting vulnerabilities...
2025-04-19T22:43:32+08:00	INFO	[python-pkg] Detecting vulnerabilities...
2025-04-19T22:43:32+08:00	WARN	Using severities from other vendors for some vulnerabilities. Read https://trivy.dev/v0.61/docs/scanner/vulnerability#severity-selection for details.

Report Summary

┌──────────────────────────────────────────────────────────────────────────────────┬────────────┬─────────────────┬─────────┐
│                                      Target                                      │    Type    │ Vulnerabilities │ Secrets │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ mysql:8.0.42 (oracle 9.5)                                                        │   oracle   │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/PyNaCl-1.5.0.dist-info/METADATA     │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/PyYAML-6.0.1.dist-info/METADATA     │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/antlr4_python3_runtime-4.13.1.dist- │ python-pkg │        0        │    -    │
│ -info/METADATA                                                                   │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/bcrypt-4.1.3.dist-info/METADATA     │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/certifi-2025.1.31.dist-info/METADA- │ python-pkg │        0        │    -    │
│ TA                                                                               │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/cffi-1.17.1.dist-info/METADATA      │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/circuitbreaker-2.0.0.dist-info/MET- │ python-pkg │        0        │    -    │
│ ADATA                                                                            │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/cryptography-44.0.1.dist-info/META- │ python-pkg │        0        │    -    │
│ DATA                                                                             │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/oci-2.145.0.dist-info/METADATA      │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/paramiko-3.4.0.dist-info/METADATA   │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pip-24.2.dist-info/METADATA         │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pkg_resources/tests/data/my-test-p- │ python-pkg │        0        │    -    │
│ ackage_unpacked-egg/my_test_package-1.0-py3.7.egg/EGG-INFO/PKG-INFO              │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pkg_resources/tests/data/my-test-p- │ python-pkg │        0        │    -    │
│ ackage_zipped-egg/my_test_package-1.0-py3.7.egg                                  │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pyOpenSSL-24.3.0.dist-info/METADATA │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pycparser-2.22.dist-info/METADATA   │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/python_dateutil-2.9.0.post0.dist-i- │ python-pkg │        0        │    -    │
│ nfo/METADATA                                                                     │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pytz-2025.1.dist-info/METADATA      │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools-73.0.1.dist-info/METADA- │ python-pkg │        0        │    -    │
│ TA                                                                               │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/autocommand-2.2- │ python-pkg │        0        │    -    │
│ .2.dist-info/METADATA                                                            │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/backports.tarfi- │ python-pkg │        0        │    -    │
│ le-1.2.0.dist-info/METADATA                                                      │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/importlib_metad- │ python-pkg │        0        │    -    │
│ ata-8.0.0.dist-info/METADATA                                                     │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/importlib_resou- │ python-pkg │        0        │    -    │
│ rces-6.4.0.dist-info/METADATA                                                    │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/inflect-7.3.1.d- │ python-pkg │        0        │    -    │
│ ist-info/METADATA                                                                │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/jaraco.context-- │ python-pkg │        0        │    -    │
│ 5.3.0.dist-info/METADATA                                                         │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/jaraco.functool- │ python-pkg │        0        │    -    │
│ s-4.0.1.dist-info/METADATA                                                       │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/jaraco.text-3.1- │ python-pkg │        0        │    -    │
│ 2.1.dist-info/METADATA                                                           │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/more_itertools-- │ python-pkg │        0        │    -    │
│ 10.3.0.dist-info/METADATA                                                        │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/packaging-24.1.- │ python-pkg │        0        │    -    │
│ dist-info/METADATA                                                               │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/platformdirs-4.- │ python-pkg │        0        │    -    │
│ 2.2.dist-info/METADATA                                                           │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/tomli-2.0.1.dis- │ python-pkg │        0        │    -    │
│ t-info/METADATA                                                                  │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/typeguard-4.3.0- │ python-pkg │        0        │    -    │
│ .dist-info/METADATA                                                              │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/typing_extensio- │ python-pkg │        0        │    -    │
│ ns-4.12.2.dist-info/METADATA                                                     │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/wheel-0.43.0.di- │ python-pkg │        0        │    -    │
│ st-info/METADATA                                                                 │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/zipp-3.19.2.dis- │ python-pkg │        0        │    -    │
│ t-info/METADATA                                                                  │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/six-1.17.0.dist-info/METADATA       │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/typing_extensions-4.12.2.dist-info- │ python-pkg │        0        │    -    │
│ /METADATA                                                                        │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/local/bin/gosu                                                               │  gobinary  │       59        │    -    │
└──────────────────────────────────────────────────────────────────────────────────┴────────────┴─────────────────┴─────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)


usr/local/bin/gosu (gobinary)

Total: 59 (UNKNOWN: 0, LOW: 1, MEDIUM: 24, HIGH: 31, CRITICAL: 3)

┌─────────┬────────────────┬──────────┬────────┬───────────────────┬──────────────────────────────────┬──────────────────────────────────────────────────────────────┐
│ Library │ Vulnerability  │ Severity │ Status │ Installed Version │          Fixed Version           │                            Title                             │
├─────────┼────────────────┼──────────┼────────┼───────────────────┼──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ stdlib  │ CVE-2023-24538 │ CRITICAL │ fixed  │ v1.18.2           │ 1.19.8, 1.20.3                   │ golang: html/template: backticks not treated as string       │
│         │                │          │        │                   │                                  │ delimiters                                                   │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-24538                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-24540 │          │        │                   │ 1.19.9, 1.20.4                   │ golang: html/template: improper handling of JavaScript       │
│         │                │          │        │                   │                                  │ whitespace                                                   │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-24540                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-24790 │          │        │                   │ 1.21.11, 1.22.4                  │ golang: net/netip: Unexpected behavior from Is methods for   │
│         │                │          │        │                   │                                  │ IPv4-mapped IPv6 addresses                                   │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-24790                   │
│         ├────────────────┼──────────┤        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-27664 │ HIGH     │        │                   │ 1.18.6, 1.19.1                   │ golang: net/http: handle server errors after sending GOAWAY  │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-27664                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-28131 │          │        │                   │ 1.17.12, 1.18.4                  │ golang: encoding/xml: stack exhaustion in Decoder.Skip       │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-28131                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-2879  │          │        │                   │ 1.18.7, 1.19.2                   │ golang: archive/tar: github.com/vbatts/tar-split: unbounded  │
│         │                │          │        │                   │                                  │ memory consumption when reading headers                      │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-2879                    │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-2880  │          │        │                   │                                  │ golang: net/http/httputil: ReverseProxy should not forward   │
│         │                │          │        │                   │                                  │ unparseable query parameters                                 │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-2880                    │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-29804 │          │        │                   │ 1.17.11, 1.18.3                  │ ELSA-2022-17957: ol8addon security update (IMPORTANT)        │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-29804                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-30580 │          │        │                   │                                  │ golang: os/exec: Code injection in Cmd.Start                 │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-30580                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-30630 │          │        │                   │ 1.17.12, 1.18.4                  │ golang: io/fs: stack exhaustion in Glob                      │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-30630                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-30631 │          │        │                   │                                  │ golang: compress/gzip: stack exhaustion in Reader.Read       │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-30631                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-30632 │          │        │                   │                                  │ golang: path/filepath: stack exhaustion in Glob              │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-30632                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-30633 │          │        │                   │                                  │ golang: encoding/xml: stack exhaustion in Unmarshal          │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-30633                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-30634 │          │        │                   │ 1.17.11, 1.18.3                  │ ELSA-2022-17957: ol8addon security update (IMPORTANT)        │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-30634                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-30635 │          │        │                   │ 1.17.12, 1.18.4                  │ golang: encoding/gob: stack exhaustion in Decoder.Decode     │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-30635                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-32189 │          │        │                   │ 1.17.13, 1.18.5                  │ golang: math/big: decoding big.Float and big.Rat types can   │
│         │                │          │        │                   │                                  │ panic if the encoded...                                      │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-32189                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-41715 │          │        │                   │ 1.18.7, 1.19.2                   │ golang: regexp/syntax: limit memory used by parsing regexps  │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-41715                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-41716 │          │        │                   │ 1.18.8, 1.19.3                   │ Due to unsanitized NUL values, attackers may be able to      │
│         │                │          │        │                   │                                  │ maliciously se...                                            │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-41716                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-41720 │          │        │                   │ 1.18.9, 1.19.4                   │ golang: os, net/http: avoid escapes from os.DirFS and        │
│         │                │          │        │                   │                                  │ http.Dir on Windows                                          │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-41720                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-41722 │          │        │                   │ 1.19.6, 1.20.1                   │ golang: path/filepath: path-filepath filepath.Clean path     │
│         │                │          │        │                   │                                  │ traversal                                                    │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-41722                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-41723 │          │        │                   │                                  │ golang.org/x/net/http2: avoid quadratic complexity in HPACK  │
│         │                │          │        │                   │                                  │ decoding                                                     │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-41723                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-41724 │          │        │                   │                                  │ golang: crypto/tls: large handshake records may cause panics │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-41724                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-41725 │          │        │                   │                                  │ golang: net/http, mime/multipart: denial of service from     │
│         │                │          │        │                   │                                  │ excessive resource consumption                               │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-41725                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-24534 │          │        │                   │ 1.19.8, 1.20.3                   │ golang: net/http, net/textproto: denial of service from      │
│         │                │          │        │                   │                                  │ excessive memory allocation                                  │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-24534                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-24536 │          │        │                   │                                  │ golang: net/http, net/textproto, mime/multipart: denial of   │
│         │                │          │        │                   │                                  │ service from excessive resource consumption                  │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-24536                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-24537 │          │        │                   │                                  │ golang: go/parser: Infinite loop in parsing                  │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-24537                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-24539 │          │        │                   │ 1.19.9, 1.20.4                   │ golang: html/template: improper sanitization of CSS values   │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-24539                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-29400 │          │        │                   │                                  │ golang: html/template: improper handling of empty HTML       │
│         │                │          │        │                   │                                  │ attributes                                                   │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-29400                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-29403 │          │        │                   │ 1.19.10, 1.20.5                  │ golang: runtime: unexpected behavior of setuid/setgid        │
│         │                │          │        │                   │                                  │ binaries                                                     │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-29403                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-39325 │          │        │                   │ 1.20.10, 1.21.3                  │ golang: net/http, x/net/http2: rapid stream resets can cause │
│         │                │          │        │                   │                                  │ excessive work (CVE-2023-44487)                              │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-39325                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-45283 │          │        │                   │ 1.20.11, 1.21.4, 1.20.12, 1.21.5 │ The filepath package does not recognize paths with a \??\    │
│         │                │          │        │                   │                                  │ prefix as...                                                 │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-45283                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-45287 │          │        │                   │ 1.20.0                           │ golang: crypto/tls: Timing Side Channel attack in RSA based  │
│         │                │          │        │                   │                                  │ TLS key exchanges....                                        │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-45287                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-45288 │          │        │                   │ 1.21.9, 1.22.2                   │ golang: net/http, x/net/http2: unlimited number of           │
│         │                │          │        │                   │                                  │ CONTINUATION frames causes DoS                               │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-45288                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-34156 │          │        │                   │ 1.22.7, 1.23.1                   │ encoding/gob: golang: Calling Decoder.Decode on a message    │
│         │                │          │        │                   │                                  │ which contains deeply nested structures...                   │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-34156                   │
│         ├────────────────┼──────────┤        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-1705  │ MEDIUM   │        │                   │ 1.17.12, 1.18.4                  │ golang: net/http: improper sanitization of Transfer-Encoding │
│         │                │          │        │                   │                                  │ header                                                       │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-1705                    │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-1962  │          │        │                   │                                  │ golang: go/parser: stack exhaustion in all Parse* functions  │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-1962                    │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-32148 │          │        │                   │                                  │ golang: net/http/httputil: NewSingleHostReverseProxy - omit  │
│         │                │          │        │                   │                                  │ X-Forwarded-For not working                                  │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-32148                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-41717 │          │        │                   │ 1.18.9, 1.19.4                   │ golang: net/http: excessive memory growth in a Go server     │
│         │                │          │        │                   │                                  │ accepting HTTP/2 requests...                                 │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-41717                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-24532 │          │        │                   │ 1.19.7, 1.20.2                   │ golang: crypto/internal/nistec: specific unreduced P-256     │
│         │                │          │        │                   │                                  │ scalars produce incorrect results                            │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-24532                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-29406 │          │        │                   │ 1.19.11, 1.20.6                  │ golang: net/http: insufficient sanitization of Host header   │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-29406                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-29409 │          │        │                   │ 1.19.12, 1.20.7, 1.21.0-rc.4     │ golang: crypto/tls: slow verification of certificate chains  │
│         │                │          │        │                   │                                  │ containing large RSA keys                                    │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-29409                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-39318 │          │        │                   │ 1.20.8, 1.21.1                   │ golang: html/template: improper handling of HTML-like        │
│         │                │          │        │                   │                                  │ comments within script contexts                              │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-39318                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-39319 │          │        │                   │                                  │ golang: html/template: improper handling of special tags     │
│         │                │          │        │                   │                                  │ within script contexts                                       │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-39319                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-39326 │          │        │                   │ 1.20.12, 1.21.5                  │ golang: net/http/internal: Denial of Service (DoS) via       │
│         │                │          │        │                   │                                  │ Resource Consumption via HTTP requests...                    │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-39326                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-45284 │          │        │                   │ 1.20.11, 1.21.4                  │ On Windows, The IsLocal function does not correctly detect   │
│         │                │          │        │                   │                                  │ reserved de ......                                           │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-45284                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-45289 │          │        │                   │ 1.21.8, 1.22.1                   │ golang: net/http/cookiejar: incorrect forwarding of          │
│         │                │          │        │                   │                                  │ sensitive headers and cookies on HTTP redirect...            │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-45289                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2023-45290 │          │        │                   │                                  │ golang: net/http: golang: mime/multipart: golang:            │
│         │                │          │        │                   │                                  │ net/textproto: memory exhaustion in                          │
│         │                │          │        │                   │                                  │ Request.ParseMultipartForm                                   │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2023-45290                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-24783 │          │        │                   │                                  │ golang: crypto/x509: Verify panics on certificates with an   │
│         │                │          │        │                   │                                  │ unknown public key algorithm...                              │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-24783                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-24784 │          │        │                   │                                  │ golang: net/mail: comments in display names are incorrectly  │
│         │                │          │        │                   │                                  │ handled                                                      │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-24784                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-24785 │          │        │                   │                                  │ golang: html/template: errors returned from MarshalJSON      │
│         │                │          │        │                   │                                  │ methods may break template escaping                          │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-24785                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-24789 │          │        │                   │ 1.21.11, 1.22.4                  │ golang: archive/zip: Incorrect handling of certain ZIP files │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-24789                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-24791 │          │        │                   │ 1.21.12, 1.22.5                  │ net/http: Denial of service due to improper 100-continue     │
│         │                │          │        │                   │                                  │ handling in net/http                                         │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-24791                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-34155 │          │        │                   │ 1.22.7, 1.23.1                   │ go/parser: golang: Calling any of the Parse functions        │
│         │                │          │        │                   │                                  │ containing deeply nested literals...                         │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-34155                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-34158 │          │        │                   │                                  │ go/build/constraint: golang: Calling Parse on a "// +build"  │
│         │                │          │        │                   │                                  │ build tag line with...                                       │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-34158                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-45336 │          │        │                   │ 1.22.11, 1.23.5, 1.24.0-rc.2     │ golang: net/http: net/http: sensitive headers incorrectly    │
│         │                │          │        │                   │                                  │ sent after cross-domain redirect                             │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-45336                   │
│         ├────────────────┤          │        │                   │                                  ├──────────────────────────────────────────────────────────────┤
│         │ CVE-2024-45341 │          │        │                   │                                  │ golang: crypto/x509: crypto/x509: usage of IPv6 zone IDs can │
│         │                │          │        │                   │                                  │ bypass URI name...                                           │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2024-45341                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2025-22866 │          │        │                   │ 1.22.12, 1.23.6, 1.24.0-rc.3     │ crypto/internal/nistec: golang: Timing sidechannel for P-256 │
│         │                │          │        │                   │                                  │ on ppc64le in crypto/internal/nistec                         │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2025-22866                   │
│         ├────────────────┤          │        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2025-22871 │          │        │                   │ 1.23.8, 1.24.2                   │ net/http: Request smuggling due to acceptance of invalid     │
│         │                │          │        │                   │                                  │ chunked data in net/http...                                  │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2025-22871                   │
│         ├────────────────┼──────────┤        │                   ├──────────────────────────────────┼──────────────────────────────────────────────────────────────┤
│         │ CVE-2022-30629 │ LOW      │        │                   │ 1.17.11, 1.18.3                  │ golang: crypto/tls: session tickets lack random              │
│         │                │          │        │                   │                                  │ ticket_age_add                                               │
│         │                │          │        │                   │                                  │ https://avd.aquasec.com/nvd/cve-2022-30629                   │
└─────────┴────────────────┴──────────┴────────┴───────────────────┴──────────────────────────────────┴──────────────────────────────────────────────────────────────┘

从该扫描报告中可知,总共发现了59个安全漏洞,存在于文件usr/local/bin/gosu中:

bash 复制代码
Total: 59 (UNKNOWN: 0, LOW: 1, MEDIUM: 24, HIGH: 31, CRITICAL: 3)

漏洞如何处理修复

处理分析思路

gosu是一个二进制文件,源代码托管在https://github.com/tianon/gosu.git,该应用是使用golang语言编写,主要用于在容器内让应用以指定用户运行,该项目最近一次更新是3个月前,目前使用的golang版本是1.20,而截至2025年4月19日,golang最新版是1.24.2,因此需要使用该项目源码进行升级更新,使用golang 1.24.2编译二进制文件替换镜像内gosu文件,重新构建镜像。

更加轻量级的身份切换执行工具su-exec:

简单的身份切换和执行工具su-exec ------ 筑梦之路-CSDN博客

源码改造并编译

bash 复制代码
git clone https://github.com/tianon/gosu.git

# 修改文件go.mod中的golang使用的版本为1.24.2

go 1.20  改为go 1.24.2

# 修改version.go文件

1.17 改为 1.24

# 编译二进制文件,一定要在linux操作系统上编译

go build

# 检查编译结果

./gosu version

Usage: ./gosu user-spec command [args]
   eg: ./gosu tianon bash
       ./gosu nobody:root bash -c 'whoami && id'
       ./gosu 1000:1 id

./gosu version: 1.24 (go1.24.2 on linux/amd64; gc)
./gosu license: Apache-2.0 (full text at https://github.com/tianon/gosu)

至此,就得到了编译生成的二进制文件gosu。

编译其他平台架构的二进制文件

bash 复制代码
# 编译 ARMv7 架构(32位)
GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=0 go build -o output_armv7

# 编译 ARMv8(ARM64)架构(64位)
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o output_arm64


‌关键参数说明‌:
GOOS=linux:目标操作系统为 Linux。
GOARCH=arm/arm64:目标 CPU 架构为 ARMv7 或 ARM64。
GOARM=7(仅限 ARMv7):指定 ARM 版本,默认为 ARMv6,建议显式声明‌。
CGO_ENABLED=0:禁用 CGO 避免依赖动态库,确保纯静态编译‌

镜像漏洞修复验证

重构建新镜像

bash 复制代码
# 编写Dockerfile文件

cat Dockerfile

FROM mysql:8.0.42
COPY gosu /usr/local/bin/gosu
RUN  chmod +x /usr/local/bin/gosu
ENV TZ=Asia/Shanghai \
    LANG=C.UTF-8

# 重新构建镜像

docker build -t mysql:8.0.42-20250419 .

检查修复验证

bash 复制代码
docker tag mysql:8.0.42-20250419 mysql:8.0.42-test

trivy image mysql:8.0.42-test

2025-04-19T23:18:13+08:00	INFO	[vuln] Vulnerability scanning is enabled
2025-04-19T23:18:13+08:00	INFO	[secret] Secret scanning is enabled
2025-04-19T23:18:13+08:00	INFO	[secret] If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2025-04-19T23:18:13+08:00	INFO	[secret] Please see also https://trivy.dev/v0.61/docs/scanner/secret#recommendation for faster secret detection
2025-04-19T23:18:13+08:00	INFO	Detected OS	family="oracle" version="9.5"
2025-04-19T23:18:13+08:00	INFO	[oracle] Detecting vulnerabilities...	os_version="9" pkg_num=114
2025-04-19T23:18:13+08:00	INFO	Number of language-specific files	num=2
2025-04-19T23:18:13+08:00	INFO	[gobinary] Detecting vulnerabilities...
2025-04-19T23:18:13+08:00	INFO	[python-pkg] Detecting vulnerabilities...

Report Summary

┌──────────────────────────────────────────────────────────────────────────────────┬────────────┬─────────────────┬─────────┐
│                                      Target                                      │    Type    │ Vulnerabilities │ Secrets │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ mysql:8.0.42-test (oracle 9.5)                                                   │   oracle   │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/PyNaCl-1.5.0.dist-info/METADATA     │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/PyYAML-6.0.1.dist-info/METADATA     │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/antlr4_python3_runtime-4.13.1.dist- │ python-pkg │        0        │    -    │
│ -info/METADATA                                                                   │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/bcrypt-4.1.3.dist-info/METADATA     │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/certifi-2025.1.31.dist-info/METADA- │ python-pkg │        0        │    -    │
│ TA                                                                               │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/cffi-1.17.1.dist-info/METADATA      │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/circuitbreaker-2.0.0.dist-info/MET- │ python-pkg │        0        │    -    │
│ ADATA                                                                            │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/cryptography-44.0.1.dist-info/META- │ python-pkg │        0        │    -    │
│ DATA                                                                             │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/oci-2.145.0.dist-info/METADATA      │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/paramiko-3.4.0.dist-info/METADATA   │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pip-24.2.dist-info/METADATA         │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pkg_resources/tests/data/my-test-p- │ python-pkg │        0        │    -    │
│ ackage_unpacked-egg/my_test_package-1.0-py3.7.egg/EGG-INFO/PKG-INFO              │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pkg_resources/tests/data/my-test-p- │ python-pkg │        0        │    -    │
│ ackage_zipped-egg/my_test_package-1.0-py3.7.egg                                  │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pyOpenSSL-24.3.0.dist-info/METADATA │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pycparser-2.22.dist-info/METADATA   │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/python_dateutil-2.9.0.post0.dist-i- │ python-pkg │        0        │    -    │
│ nfo/METADATA                                                                     │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/pytz-2025.1.dist-info/METADATA      │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools-73.0.1.dist-info/METADA- │ python-pkg │        0        │    -    │
│ TA                                                                               │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/autocommand-2.2- │ python-pkg │        0        │    -    │
│ .2.dist-info/METADATA                                                            │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/backports.tarfi- │ python-pkg │        0        │    -    │
│ le-1.2.0.dist-info/METADATA                                                      │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/importlib_metad- │ python-pkg │        0        │    -    │
│ ata-8.0.0.dist-info/METADATA                                                     │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/importlib_resou- │ python-pkg │        0        │    -    │
│ rces-6.4.0.dist-info/METADATA                                                    │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/inflect-7.3.1.d- │ python-pkg │        0        │    -    │
│ ist-info/METADATA                                                                │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/jaraco.context-- │ python-pkg │        0        │    -    │
│ 5.3.0.dist-info/METADATA                                                         │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/jaraco.functool- │ python-pkg │        0        │    -    │
│ s-4.0.1.dist-info/METADATA                                                       │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/jaraco.text-3.1- │ python-pkg │        0        │    -    │
│ 2.1.dist-info/METADATA                                                           │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/more_itertools-- │ python-pkg │        0        │    -    │
│ 10.3.0.dist-info/METADATA                                                        │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/packaging-24.1.- │ python-pkg │        0        │    -    │
│ dist-info/METADATA                                                               │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/platformdirs-4.- │ python-pkg │        0        │    -    │
│ 2.2.dist-info/METADATA                                                           │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/tomli-2.0.1.dis- │ python-pkg │        0        │    -    │
│ t-info/METADATA                                                                  │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/typeguard-4.3.0- │ python-pkg │        0        │    -    │
│ .dist-info/METADATA                                                              │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/typing_extensio- │ python-pkg │        0        │    -    │
│ ns-4.12.2.dist-info/METADATA                                                     │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/wheel-0.43.0.di- │ python-pkg │        0        │    -    │
│ st-info/METADATA                                                                 │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/setuptools/_vendor/zipp-3.19.2.dis- │ python-pkg │        0        │    -    │
│ t-info/METADATA                                                                  │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/six-1.17.0.dist-info/METADATA       │ python-pkg │        0        │    -    │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/lib/mysqlsh/lib/python3.13/site-packages/typing_extensions-4.12.2.dist-info- │ python-pkg │        0        │    -    │
│ /METADATA                                                                        │            │                 │         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────┤
│ usr/local/bin/gosu                                                               │  gobinary  │        0        │    -    │
└──────────────────────────────────────────────────────────────────────────────────┴────────────┴─────────────────┴─────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)

再次扫描就没有发现安全漏洞。

特别说明:gosu广泛用于各官方镜像中,比如redis、mongo、postgres等,以下列举了几个官方镜像,大家可以自行验证,因此解决gosu的安全漏洞意义还是比较大的。

bash 复制代码
redis:6-alpine
mongo:8.0.6-noble
postgres:15-alpine

2025年4月19日

扩展阅读:

https://segmentfault.com/a/1190000023065990?utm_source=sf-similar-article

https://segmentfault.com/a/1190000042389426

总结:

  1. 常用于容器内权限切换执行的工具有tini、gosu、su-exec

  2. 容器优雅退出对于容器生命周期管理比较重要

  3. 容器内的1号进程有重要的意义

相关推荐
林木木木木木木木木木2 小时前
【随身WiFi】随身WiFi Debian系统优化教程
linux·运维·debian·随身wifi
杨浦老苏2 小时前
Docker应用端口查看器docker-port-viewer
运维·docker·群晖
AI大模型顾潇2 小时前
[特殊字符] AI 大模型的 Prompt Engineering 原理:从基础到源码实践
运维·人工智能·spring·自然语言处理·自动化·大模型·prompt
小诸葛的博客3 小时前
MariaDB MaxScale 的用途与实现细节
云原生·容器·kubernetes
柳如烟@3 小时前
基于GTID的主从复制
运维·mysql·gdit
谢斯3 小时前
【jenkins】首次配置jenkins
运维·jenkins
零点零一3 小时前
在Ubuntu系统中安装和升级RabbitVCS
linux·运维·ubuntu
逢生博客4 小时前
将 DeepSeek 集成到 Spring Boot 项目实现通过 AI 对话方式操作后台数据
人工智能·spring boot·docker·deepseek·cherry studio·mcp 服务端·mcp 客户端
绵绵细雨中的乡音4 小时前
Linux-进度条小程序
linux·运维·服务器