如何对docker镜像存在的gosu安全漏洞进行修复——筑梦之路
这里以mysql的官方镜像为例进行说明,主要流程为:
1. 分析镜像存在的安全漏洞具体是什么
2. 根据分析结果有针对性地进行修复处理
3. 基于当前镜像进行修复安全漏洞并复核验证
# 镜像地址mysql:8.0.42
安全漏洞现状分析
dockerhub网站上获取该镜像的漏洞信息:
从上图中可知道安全漏洞存在于golang/stdlib 包,总共有59个安全漏洞,该漏洞信息未必就是最新的,因此下面我这里使用trivy工具扫描结果如下:
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中:
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博客
源码改造并编译
git clone https://github.com/tianon/gosu.git# 修改文件go.mod中的golang使用的版本为1.24.2go 1.20 改为go 1.24.2# 修改version.go文件1.17 改为 1.24# 编译二进制文件,一定要在linux操作系统上编译go build# 检查编译结果./gosu versionUsage: ./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。
编译其他平台架构的二进制文件
# 编译 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 避免依赖动态库,确保纯静态编译
镜像漏洞修复验证
重构建新镜像
# 编写Dockerfile文件cat DockerfileFROM 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 .
检查修复验证
docker tag mysql:8.0.42-20250419 mysql:8.0.42-testtrivy image mysql:8.0.42-test2025-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的安全漏洞意义还是比较大的。
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
相关文章:
如何对docker镜像存在的gosu安全漏洞进行修复——筑梦之路
这里以mysql的官方镜像为例进行说明,主要流程为: 1. 分析镜像存在的安全漏洞具体是什么 2. 根据分析结果有针对性地进行修复处理 3. 基于当前镜像进行修复安全漏洞并复核验证 # 镜像地址mysql:8.0.42 安全漏洞现状分析 dockerhub网站上获取该镜像的…...
Ubuntu 安装WPS Office
文章目录 Ubuntu 安装WPS Office下载安装文件安装WPS问题1.下载缺失字体文件2.安装缺失字体 Ubuntu 安装WPS Office 下载安装文件 需要到 WPS官网 下载最新软件,比如wps-office_12.1.0.17900_amd64.deb 安装WPS 执行命令进行安装 sudo dpkg -i wps-office_12.1…...
基于springboot的老年医疗保健系统
博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言࿰…...
使用Ollama本地运行deepseek模型
Ollama 是一个用于管理 AI 模型的工具 下载 Ollama Ollama 选择版本 下载模型 安装好后,下载模型 选择模型 选择模型大小,复制对应命令(越大越聪明,但是内存要求越高) 打开控制台运行命令,第一次运行会自动…...
网络编程 - 3
目录 UDP 连接拓展(业务逻辑) 词典服务器实现 完 UDP 连接拓展(业务逻辑) 我们上一篇文章实现了一个回显服务器,在服务端中业务方法 process 中,只是单纯的将客户端输入的东西 return 了一下࿰…...
rebase和merge的区别
目录 1. 合并机制与提交历史 2. 冲突处理方式 3. 历史追溯与团队协作 4. 推荐实践 5. 撤销难度 git rebase和git merge是Git中两种不同的分支合并策略,核心区别在于提交历史的处理方式:merge保留原始分支结构并生成合并提交&am…...
5G 毫米波滤波器的最优选择是什么?
新的选择有很多,但到目前为止还没有明确的赢家。 蜂窝电话技术利用大量的带带,为移动用途提供不断增加的带宽。 其中的每一个频带都需要透过滤波器将信号与其他频带分开,但目前用于手机的滤波器技术可能无法扩展到5G所规划的全部毫米波&#…...
【HDFS入门】HDFS性能调优实战:压缩与编码技术深度解析
目录 1 HDFS性能调优概述 2 HDFS压缩技术原理与应用 2.1 常见压缩算法比较 2.2 压缩流程架构 2.3 压缩配置实践 3 列式存储编码技术 3.1 ORC与Parquet对比 3.2 ORC文件结构 3.3 Parquet编码流程 4 性能调优实战建议 4.1 压缩选择策略 4.2 编码优化技巧 5 性能测试…...
如何在 IntelliJ IDEA 中安装通义灵码 - AI编程助手提升开发效率
随着人工智能技术的飞速发展,AI 编程助手已成为提升开发效率和代码质量的强大工具。在众多 AI 编程助手之中,阿里云推出的通义灵码凭借其智能代码补全、代码解释、生成单元测试等丰富功能,脱颖而出,为开发者带来了全新的编程体验。…...
从零到一:管理系统设计新手如何快速上手?
管理系统设计是一项复杂而富有挑战性的任务,它要求设计者具备多方面的知识和技能,包括需求分析、架构设计、数据管理、用户界面设计等。对于初次接触这一领域的新手而言,如何快速上手并成为一名合格的管理系统设计者呢?本文将从管…...
WSL (ext4.vhdx文件)占用空间过大,清理方式记录,同时更改 WSL 保存位置
一、问题 之前使用 WSL Ubuntu 进行过开发板的 Yocto 项目编译,占用空间达到了 70GB 多的空间。后来进行了项目迁移,删除了 WSL 中的所有文件,但是从 Windows 查看空间占用却没有减少: 占用依然是 70 多,查阅发现 vhdx…...
深入解析Java日志框架Logback:从原理到最佳实践
Logback作为Java领域最主流的日志框架之一,由Log4j创始人Ceki Glc设计开发,凭借其卓越的性能、灵活的配置以及与SLF4J的无缝集成,成为企业级应用开发的首选日志组件。本文将从架构设计、核心机制、配置优化等维度全面剖析Logback的技术细节。 一、Logback的架构设计与核心模…...
PCI总线和PCIe总线
本文来源:腾讯元宝 PCI(Peripheral Component Interconnect,外围组件互连) 是一种由 Intel 在 1991年 提出的 并行总线标准,用于连接计算机主板上的各种外设(如显卡、网卡、声…...
《软件设计师》复习笔记(14.2)——统一建模语言UML、事务关系图
目录 1. UML概述 2. UML构造块 (1) 事物(Things) (2) 关系(Relationships) 真题示例: 3. UML图分类 (1) 结构图(静态) (2) 行为图(动态) 4. 核心UML图详解 5.…...
Flash存储器(三):eMMC与UFS协议标准
目录 一.协议介绍 1.1 eMMC协议标准 1.1.1 设计背景 1.1.2 协议演进 1.2 UFS协议标准 1.2.1 设计背景 1.2.2 协议演进 二.特性对比 三.应用场景 在嵌入式存储领域,eMMC(嵌入式多媒体卡)和UFS(通用闪存存储ÿ…...
在RK3588上使用哪个流媒体服务器合适
在RK3588平台上选择合适的流媒体服务器时,需考虑其ARM Cortex-A76/A55架构、硬件编解码能力(如支持H.264/H.265/AV1解码)以及Linux/Android系统支持。以下是推荐的方案: 1. 轻量级方案:GStreamer RTSP 适用场景&…...
PHP8.2.9NTS版本使用composer报错,扩展找不到的问题处理
使用composer install时报错: The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you can disable this error, at y our own risk, by setting the ‘disable-tls’ option to true.…...
[文献阅读] EnCodec - High Fidelity Neural Audio Compression
[文献信息]:[2210.13438] High Fidelity Neural Audio Compression facebook团队提出的一个用于高质量音频高效压缩的模型,称为EnCodec。Encodec是VALL-E的重要前置工作,正是Encodec的压缩量化使得VALL-E能够出现,把语音领域带向大…...
【操作系统原理01】操作系统引论
文章目录 大纲一、中断与异常0.大纲1. 中断的作用2. 中断类型2.1 内中断2.2 外中断2.3 判断内外中断 3. 中断机制原理 二、系统调用0. 大纲1.什么是系统调用2.系统调用分类 三、操作性系统内核(了解)0.大纲1.内核2.各种操作系统结构特性 四、操作系统引论0.大纲1.磁盘存储 图片…...
http请求和websocket区别和使用场景
这个问题问得很好,下面我分几部分来详细讲解 WebSocket 的传输能力、适用场景,以及为什么即使用了 WebSocket,我们仍然会用 HTTP 接口👇 ✅ 一、WebSocket 可以传输多少内容? 理论上: WebSocket 协议本身…...
动态规划经典例题:最长单调递增子序列、完全背包、二维背包、数字三角形硬币找零
一.最长单调递增子序列 设计一个O(n^2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 实验原理 状态转移方程(递推公式): 对于每个 i,遍历之前的元素 j,如果 nums[j] < nums[i]࿰…...
最新得物小程序sign签名加密,请求参数解密,响应数据解密逆向分析
点击精选,出现https://app.dewu.com/api/v1/h5/index/fire/index 这个请求 直接搜索sign的话不容易定位 直接搜newAdvForH5就一个,进去再搜sign,打上断点 可以看到t.params就是没有sign的请求参数, 经过Object(a.default)该函数…...
Day2—3:前端项目uniapp壁纸实战
接下来我们做一个专题精选 <view class"theme"><common-title><template #name>专题精选</template><template #custom><navigator url"" class"more">More</navigator></template></common…...
SQL系列:常用函数
1、【MySQL】合并字段函数(列转行) 它可以将两个字段中的数据合并到一个字段中。 1)CONCAT函数 CONCAT函数可以将多个字段中的数据合并到一个字段中。它的语法格式如下: SELECT CONCAT(字段1,字段2,...字段N) FROM 表名;SELEC…...
Python基于知识图谱的医疗问答系统【附源码、文档说明】
博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…...
yarn的三个资源调度策略
1. 容量调度器(Capacity Scheduler) 策略原理:将集群资源划分为多个队列,每个队列有固定的资源容量,且可以设置资源的最大和最小使用量。不同的用户或应用程序可以被分配到不同的队列中,在队列内部&#x…...
股指期货跨期套利是如何赚取价差利润的?
股指期货跨期套利,简单来说,就是在同一交易所内,针对同一股指期货品种的不同交割月份合约进行的套利交易。投资者会同时买入某一月份的股指期货合约,并卖出另一月份的股指期货合约,待未来某个时间点,再将这…...
w297毕业生实习与就业管理系统
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
Java集合框架中的List、Map、Set详解
在Java开发中,集合框架是处理数据时不可或缺的工具之一。今天,我们来深入了解一下Java集合框架中的List、Map和Set,并探讨它们的常见方法操作。 目录 一、List集合 1.1 List集合介绍 1.2 List集合的常见方法 添加元素 获取元素 修改元素…...
让机器学习更透明:使用 Python 开发可解释性模型工具包
友友们好! 我是Echo_Wish,我的的新专栏《Python进阶》以及《Python!实战!》正式启动啦!这是专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会…...
