-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Replies: 2 comments · 6 replies
-
This (gobinary) also appears on other deployments. For instance, I have a NodeJS application running in the cluster that has some critical and high vulnerabilities. I need to understand if it's something I can do something about or not. I know for sure that the NodeJS app makes no direct use of Golang code but it could be that one of the modules pulled in might. How could I go about learning which module brought it in it Trivy doesn't tell me? |
Beta Was this translation helpful? Give feedback.
All reactions
-
Trivy shows vulnerabilities in OS packages and language-specific packages. The first part seems relevant to OS packages, and the second part is about the Go binary. However, since it's k8s scanning, I'd defer to @afdesk, who is on vacation now. He will be back next week. |
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
@knqyf263 - Thanks for stepping in. Eagerly awaiting @afdesk's return. |
Beta Was this translation helpful? Give feedback.
All reactions
-
hi @ak2766! Trivy k8s does a few steps for scanning. my mistake:
this block is the result for image scan. the report for cert-manager-cainjector:v1.16.2trivy i quay.io/jetstack/cert-manager-cainjector:v1.16.2
2025-01-13T11:34:46+06:00 INFO [vuln] Vulnerability scanning is enabled
2025-01-13T11:34:46+06:00 INFO [secret] Secret scanning is enabled
2025-01-13T11:34:46+06:00 INFO [secret] If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2025-01-13T11:34:46+06:00 INFO [secret] Please see also https://aquasecurity.github.io/trivy/v0.58/docs/scanner/secret#recommendation for faster secret detection
2025-01-13T11:34:53+06:00 INFO Detected OS family="debian" version="12.8"
2025-01-13T11:34:53+06:00 INFO [debian] Detecting vulnerabilities... os_version="12" pkg_num=3
2025-01-13T11:34:53+06:00 INFO Number of language-specific files num=1
2025-01-13T11:34:53+06:00 INFO [gobinary] Detecting vulnerabilities...
quay.io/jetstack/cert-manager-cainjector:v1.16.2 (debian 12.8)
Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
app/cmd/cainjector/cainjector (gobinary)
Total: 2 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 1, CRITICAL: 1)
┌─────────────────────┬────────────────┬──────────┬────────┬───────────────────┬───────────────┬────────────────────────────────────────────────────────┐
│ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │
├─────────────────────┼────────────────┼──────────┼────────┼───────────────────┼───────────────┼────────────────────────────────────────────────────────┤
│ golang.org/x/crypto │ CVE-2024-45337 │ CRITICAL │ fixed │ v0.27.0 │ 0.31.0 │ golang.org/x/crypto/ssh: Misuse of │
│ │ │ │ │ │ │ ServerConfig.PublicKeyCallback may cause authorization │
│ │ │ │ │ │ │ bypass in golang.org/x/crypto │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-45337 │
├─────────────────────┼────────────────┼──────────┤ ├───────────────────┼───────────────┼────────────────────────────────────────────────────────┤
│ golang.org/x/net │ CVE-2024-45338 │ HIGH │ │ v0.29.0 │ 0.33.0 │ golang.org/x/net/html: Non-linear parsing of │
│ │ │ │ │ │ │ case-insensitive content in golang.org/x/net/html │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-45338 │
└─────────────────────┴────────────────┴──────────┴────────┴───────────────────┴───────────────┴────────────────────────────────────────────────────────┘ you can try to skip the second part with a flag |
Beta Was this translation helpful? Give feedback.
All reactions
-
also I did a small test on my minikube: $ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.16.2/cert-manager.yaml
...
The CVEs in you also can take a look at the misconfigs: trivy k8s --report all --include-namespaces cert-manager the report2025-01-13T11:19:51+06:00 INFO Node scanning is enabled
2025-01-13T11:19:51+06:00 INFO If you want to disable Node scanning via an in-cluster Job, please try '--disable-node-collector' to disable the Node-Collector job.
2025-01-13T11:19:51+06:00 INFO Scanning K8s... K8s="minikube"
15 / 15 [---------------------------------------------------------------------------------------------------------------------------------------------------------------------] 100.00% 2 p/s
namespace: cert-manager, deployment: cert-manager
Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
namespace: cert-manager, deployment: cert-manager (gobinary)
Total: 2 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 1, CRITICAL: 1)
┌─────────────────────┬────────────────┬──────────┬────────┬───────────────────┬───────────────┬────────────────────────────────────────────────────────┐
│ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │
├─────────────────────┼────────────────┼──────────┼────────┼───────────────────┼───────────────┼────────────────────────────────────────────────────────┤
│ golang.org/x/crypto │ CVE-2024-45337 │ CRITICAL │ fixed │ v0.27.0 │ 0.31.0 │ golang.org/x/crypto/ssh: Misuse of │
│ │ │ │ │ │ │ ServerConfig.PublicKeyCallback may cause authorization │
│ │ │ │ │ │ │ bypass in golang.org/x/crypto │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-45337 │
├─────────────────────┼────────────────┼──────────┤ ├───────────────────┼───────────────┼────────────────────────────────────────────────────────┤
│ golang.org/x/net │ CVE-2024-45338 │ HIGH │ │ v0.29.0 │ 0.33.0 │ golang.org/x/net/html: Non-linear parsing of │
│ │ │ │ │ │ │ case-insensitive content in golang.org/x/net/html │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-45338 │
└─────────────────────┴────────────────┴──────────┴────────┴───────────────────┴───────────────┴────────────────────────────────────────────────────────┘
namespace: cert-manager, deployment: cert-manager-webhook
Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
namespace: cert-manager, deployment: cert-manager-webhook (gobinary)
Total: 2 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 1, CRITICAL: 1)
┌─────────────────────┬────────────────┬──────────┬────────┬───────────────────┬───────────────┬────────────────────────────────────────────────────────┐
│ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │
├─────────────────────┼────────────────┼──────────┼────────┼───────────────────┼───────────────┼────────────────────────────────────────────────────────┤
│ golang.org/x/crypto │ CVE-2024-45337 │ CRITICAL │ fixed │ v0.27.0 │ 0.31.0 │ golang.org/x/crypto/ssh: Misuse of │
│ │ │ │ │ │ │ ServerConfig.PublicKeyCallback may cause authorization │
│ │ │ │ │ │ │ bypass in golang.org/x/crypto │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-45337 │
├─────────────────────┼────────────────┼──────────┤ ├───────────────────┼───────────────┼────────────────────────────────────────────────────────┤
│ golang.org/x/net │ CVE-2024-45338 │ HIGH │ │ v0.29.0 │ 0.33.0 │ golang.org/x/net/html: Non-linear parsing of │
│ │ │ │ │ │ │ case-insensitive content in golang.org/x/net/html │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-45338 │
└─────────────────────┴────────────────┴──────────┴────────┴───────────────────┴───────────────┴────────────────────────────────────────────────────────┘
namespace: cert-manager, deployment: cert-manager-cainjector
Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
namespace: cert-manager, deployment: cert-manager-cainjector (gobinary)
Total: 2 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 1, CRITICAL: 1)
┌─────────────────────┬────────────────┬──────────┬────────┬───────────────────┬───────────────┬────────────────────────────────────────────────────────┐
│ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │
├─────────────────────┼────────────────┼──────────┼────────┼───────────────────┼───────────────┼────────────────────────────────────────────────────────┤
│ golang.org/x/crypto │ CVE-2024-45337 │ CRITICAL │ fixed │ v0.27.0 │ 0.31.0 │ golang.org/x/crypto/ssh: Misuse of │
│ │ │ │ │ │ │ ServerConfig.PublicKeyCallback may cause authorization │
│ │ │ │ │ │ │ bypass in golang.org/x/crypto │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-45337 │
├─────────────────────┼────────────────┼──────────┤ ├───────────────────┼───────────────┼────────────────────────────────────────────────────────┤
│ golang.org/x/net │ CVE-2024-45338 │ HIGH │ │ v0.29.0 │ 0.33.0 │ golang.org/x/net/html: Non-linear parsing of │
│ │ │ │ │ │ │ case-insensitive content in golang.org/x/net/html │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-45338 │
└─────────────────────┴────────────────┴──────────┴────────┴───────────────────┴───────────────┴────────────────────────────────────────────────────────┘
namespace: cert-manager, deployment: cert-manager (kubernetes)
Tests: 110 (SUCCESSES: 104, FAILURES: 6)
Failures: 6 (UNKNOWN: 0, LOW: 6, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
AVD-KSV-0011 (LOW): Container 'cert-manager-controller' of Deployment 'cert-manager' should set 'resources.limits.cpu'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Enforcing CPU limits prevents DoS via resource exhaustion.
See https://avd.aquasec.com/misconfig/ksv011
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager:34-70
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --cluster-resource-namespace=$(POD_NAMESPACE)
37 │ - --leader-election-namespace=kube-system
38 │ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.16.2
39 │ - --max-concurrent-challenges=60
40 │ env:
41 │ - name: POD_NAMESPACE
42 └ valueFrom:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0015 (LOW): Container 'cert-manager-controller' of Deployment 'cert-manager' should set 'resources.requests.cpu'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
When containers have resource requests specified, the scheduler can make better decisions about which nodes to place pods on, and how to deal with resource contention.
See https://avd.aquasec.com/misconfig/ksv015
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager:34-70
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --cluster-resource-namespace=$(POD_NAMESPACE)
37 │ - --leader-election-namespace=kube-system
38 │ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.16.2
39 │ - --max-concurrent-challenges=60
40 │ env:
41 │ - name: POD_NAMESPACE
42 └ valueFrom:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0016 (LOW): Container 'cert-manager-controller' of Deployment 'cert-manager' should set 'resources.requests.memory'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
When containers have memory requests specified, the scheduler can make better decisions about which nodes to place pods on, and how to deal with resource contention.
See https://avd.aquasec.com/misconfig/ksv016
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager:34-70
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --cluster-resource-namespace=$(POD_NAMESPACE)
37 │ - --leader-election-namespace=kube-system
38 │ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.16.2
39 │ - --max-concurrent-challenges=60
40 │ env:
41 │ - name: POD_NAMESPACE
42 └ valueFrom:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0018 (LOW): Container 'cert-manager-controller' of Deployment 'cert-manager' should set 'resources.limits.memory'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Enforcing memory limits prevents DoS via resource exhaustion.
See https://avd.aquasec.com/misconfig/ksv018
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager:34-70
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --cluster-resource-namespace=$(POD_NAMESPACE)
37 │ - --leader-election-namespace=kube-system
38 │ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.16.2
39 │ - --max-concurrent-challenges=60
40 │ env:
41 │ - name: POD_NAMESPACE
42 └ valueFrom:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0020 (LOW): Container 'cert-manager-controller' of Deployment 'cert-manager' should set 'securityContext.runAsUser' > 10000
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Force the container to run with user ID > 10000 to avoid conflicts with the host’s user table.
See https://avd.aquasec.com/misconfig/ksv020
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager:34-70
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --cluster-resource-namespace=$(POD_NAMESPACE)
37 │ - --leader-election-namespace=kube-system
38 │ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.16.2
39 │ - --max-concurrent-challenges=60
40 │ env:
41 │ - name: POD_NAMESPACE
42 └ valueFrom:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0021 (LOW): Container 'cert-manager-controller' of Deployment 'cert-manager' should set 'securityContext.runAsGroup' > 10000
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Force the container to run with group ID > 10000 to avoid conflicts with the host’s user table.
See https://avd.aquasec.com/misconfig/ksv021
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager:34-70
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --cluster-resource-namespace=$(POD_NAMESPACE)
37 │ - --leader-election-namespace=kube-system
38 │ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.16.2
39 │ - --max-concurrent-challenges=60
40 │ env:
41 │ - name: POD_NAMESPACE
42 └ valueFrom:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-cainjector (kubernetes)
Tests: 110 (SUCCESSES: 104, FAILURES: 6)
Failures: 6 (UNKNOWN: 0, LOW: 6, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
AVD-KSV-0011 (LOW): Container 'cert-manager-cainjector' of Deployment 'cert-manager-cainjector' should set 'resources.limits.cpu'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Enforcing CPU limits prevents DoS via resource exhaustion.
See https://avd.aquasec.com/misconfig/ksv011
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-cainjector:34-54
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --leader-election-namespace=kube-system
37 │ env:
38 │ - name: POD_NAMESPACE
39 │ valueFrom:
40 │ fieldRef:
41 │ fieldPath: metadata.namespace
42 └ image: quay.io/jetstack/cert-manager-cainjector:v1.16.2
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0015 (LOW): Container 'cert-manager-cainjector' of Deployment 'cert-manager-cainjector' should set 'resources.requests.cpu'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
When containers have resource requests specified, the scheduler can make better decisions about which nodes to place pods on, and how to deal with resource contention.
See https://avd.aquasec.com/misconfig/ksv015
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-cainjector:34-54
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --leader-election-namespace=kube-system
37 │ env:
38 │ - name: POD_NAMESPACE
39 │ valueFrom:
40 │ fieldRef:
41 │ fieldPath: metadata.namespace
42 └ image: quay.io/jetstack/cert-manager-cainjector:v1.16.2
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0016 (LOW): Container 'cert-manager-cainjector' of Deployment 'cert-manager-cainjector' should set 'resources.requests.memory'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
When containers have memory requests specified, the scheduler can make better decisions about which nodes to place pods on, and how to deal with resource contention.
See https://avd.aquasec.com/misconfig/ksv016
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-cainjector:34-54
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --leader-election-namespace=kube-system
37 │ env:
38 │ - name: POD_NAMESPACE
39 │ valueFrom:
40 │ fieldRef:
41 │ fieldPath: metadata.namespace
42 └ image: quay.io/jetstack/cert-manager-cainjector:v1.16.2
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0018 (LOW): Container 'cert-manager-cainjector' of Deployment 'cert-manager-cainjector' should set 'resources.limits.memory'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Enforcing memory limits prevents DoS via resource exhaustion.
See https://avd.aquasec.com/misconfig/ksv018
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-cainjector:34-54
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --leader-election-namespace=kube-system
37 │ env:
38 │ - name: POD_NAMESPACE
39 │ valueFrom:
40 │ fieldRef:
41 │ fieldPath: metadata.namespace
42 └ image: quay.io/jetstack/cert-manager-cainjector:v1.16.2
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0020 (LOW): Container 'cert-manager-cainjector' of Deployment 'cert-manager-cainjector' should set 'securityContext.runAsUser' > 10000
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Force the container to run with user ID > 10000 to avoid conflicts with the host’s user table.
See https://avd.aquasec.com/misconfig/ksv020
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-cainjector:34-54
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --leader-election-namespace=kube-system
37 │ env:
38 │ - name: POD_NAMESPACE
39 │ valueFrom:
40 │ fieldRef:
41 │ fieldPath: metadata.namespace
42 └ image: quay.io/jetstack/cert-manager-cainjector:v1.16.2
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0021 (LOW): Container 'cert-manager-cainjector' of Deployment 'cert-manager-cainjector' should set 'securityContext.runAsGroup' > 10000
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Force the container to run with group ID > 10000 to avoid conflicts with the host’s user table.
See https://avd.aquasec.com/misconfig/ksv021
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-cainjector:34-54
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --leader-election-namespace=kube-system
37 │ env:
38 │ - name: POD_NAMESPACE
39 │ valueFrom:
40 │ fieldRef:
41 │ fieldPath: metadata.namespace
42 └ image: quay.io/jetstack/cert-manager-cainjector:v1.16.2
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-webhook (kubernetes)
Tests: 110 (SUCCESSES: 104, FAILURES: 6)
Failures: 6 (UNKNOWN: 0, LOW: 6, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
AVD-KSV-0011 (LOW): Container 'cert-manager-webhook' of Deployment 'cert-manager-webhook' should set 'resources.limits.cpu'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Enforcing CPU limits prevents DoS via resource exhaustion.
See https://avd.aquasec.com/misconfig/ksv011
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-webhook:34-85
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --secure-port=10250
37 │ - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
38 │ - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
39 │ - --dynamic-serving-dns-names=cert-manager-webhook
40 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
41 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
42 └ env:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0015 (LOW): Container 'cert-manager-webhook' of Deployment 'cert-manager-webhook' should set 'resources.requests.cpu'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
When containers have resource requests specified, the scheduler can make better decisions about which nodes to place pods on, and how to deal with resource contention.
See https://avd.aquasec.com/misconfig/ksv015
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-webhook:34-85
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --secure-port=10250
37 │ - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
38 │ - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
39 │ - --dynamic-serving-dns-names=cert-manager-webhook
40 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
41 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
42 └ env:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0016 (LOW): Container 'cert-manager-webhook' of Deployment 'cert-manager-webhook' should set 'resources.requests.memory'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
When containers have memory requests specified, the scheduler can make better decisions about which nodes to place pods on, and how to deal with resource contention.
See https://avd.aquasec.com/misconfig/ksv016
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-webhook:34-85
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --secure-port=10250
37 │ - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
38 │ - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
39 │ - --dynamic-serving-dns-names=cert-manager-webhook
40 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
41 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
42 └ env:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0018 (LOW): Container 'cert-manager-webhook' of Deployment 'cert-manager-webhook' should set 'resources.limits.memory'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Enforcing memory limits prevents DoS via resource exhaustion.
See https://avd.aquasec.com/misconfig/ksv018
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-webhook:34-85
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --secure-port=10250
37 │ - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
38 │ - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
39 │ - --dynamic-serving-dns-names=cert-manager-webhook
40 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
41 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
42 └ env:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0020 (LOW): Container 'cert-manager-webhook' of Deployment 'cert-manager-webhook' should set 'securityContext.runAsUser' > 10000
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Force the container to run with user ID > 10000 to avoid conflicts with the host’s user table.
See https://avd.aquasec.com/misconfig/ksv020
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-webhook:34-85
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --secure-port=10250
37 │ - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
38 │ - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
39 │ - --dynamic-serving-dns-names=cert-manager-webhook
40 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
41 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
42 └ env:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0021 (LOW): Container 'cert-manager-webhook' of Deployment 'cert-manager-webhook' should set 'securityContext.runAsGroup' > 10000
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Force the container to run with group ID > 10000 to avoid conflicts with the host’s user table.
See https://avd.aquasec.com/misconfig/ksv021
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, deployment: cert-manager-webhook:34-85
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
34 ┌ - args:
35 │ - --v=2
36 │ - --secure-port=10250
37 │ - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
38 │ - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
39 │ - --dynamic-serving-dns-names=cert-manager-webhook
40 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
41 │ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
42 └ env:
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, role: cert-manager-webhook:dynamic-serving (kubernetes)
Tests: 111 (SUCCESSES: 109, FAILURES: 2)
Failures: 2 (UNKNOWN: 0, LOW: 0, MEDIUM: 2, HIGH: 0, CRITICAL: 0)
AVD-KSV-0113 (MEDIUM): Role 'cert-manager-webhook:dynamic-serving' shouldn't have access to manage secrets in namespace 'cert-manager'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Viewing secrets at the namespace scope can lead to escalation if another service account in that namespace has a higher privileged rolebinding or clusterrolebinding bound.
See https://avd.aquasec.com/misconfig/ksv113
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, role: cert-manager-webhook:dynamic-serving:14-24
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
14 ┌ - apiGroups:
15 │ - ""
16 │ resourceNames:
17 │ - cert-manager-webhook-ca
18 │ resources:
19 │ - secrets
20 │ verbs:
21 │ - get
22 └ - list
..
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
AVD-KSV-0113 (MEDIUM): Role 'cert-manager-webhook:dynamic-serving' shouldn't have access to manage secrets in namespace 'cert-manager'
═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
Viewing secrets at the namespace scope can lead to escalation if another service account in that namespace has a higher privileged rolebinding or clusterrolebinding bound.
See https://avd.aquasec.com/misconfig/ksv113
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
namespace: cert-manager, role: cert-manager-webhook:dynamic-serving:25-30
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
25 ┌ - apiGroups:
26 │ - ""
27 │ resources:
28 │ - secrets
29 │ verbs:
30 └ - create
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── for example, you can filter these misconfigs by severity: $ trivy k8s --report all --include-namespaces cert-manager --severity HIGH,CRITICAL |
Beta Was this translation helpful? Give feedback.
All reactions
-
Thanks for the detailed response, @afdesk. If I were to use Additionally, I tried the scanner on the filesystem of my NodeJS project and it reported some vulnerabilities against some packages that are not in any Does Aqua Security have office hours where the public can come in and pose a few questions live? |
Beta Was this translation helpful? Give feedback.
All reactions
-
Here's a portion of the filesystem scan report:
As you can see,
I'm really trying to like this seemingly awesome tool but I'm getting lost in all this noise. |
Beta Was this translation helpful? Give feedback.
All reactions
-
So I learnt about your office hours at: https://aquademy.aquasec.com/courses/aqua-office-hours-february-edition-emea However, when I try to register for the Feb 26th session by clicking the "Register Now" button, I'm redirected to a login page for aqua academy. But since I do not have an account, that's impossible. There's a chicken, but since there's no egg, there can't be a chicken. Help! |
Beta Was this translation helpful? Give feedback.
-
Question
I'm trying to clean up my cluster of many (overwhelmingly many) security vulnerabilities as reported by Trivy. However, it appears that most of these CRITICAL vulnerabilities are attached to (gobinary). For instance, I just deployed the latest
cert-manager
and I see all components have a critical vulnerability:Workload Assessment
When I run the
all
report, I get:Cert Manager full report
So, why is it that there are 2 parts(?), namely:
1: the top part shows all is well
2. then the bottom part shows the same info but for (gobinary).
So, what exactly am I looking at and how should I interpret this? I've searched and frankly, there's loads of information out there and I could have missed it. If so, please provide links so I can go read.
Overall, be gentle as I'm only a few weeks old using Trivy.
Target
Kubernetes
Scanner
Vulnerability
Output Format
None
Mode
Standalone
Operating System
I'm on Ubuntu 24.04.1
Version
$ > trivy --version Version: 0.58.0 Vulnerability DB: Version: 2 UpdatedAt: 2025-01-06 06:18:23.609115718 +0000 UTC NextUpdate: 2025-01-07 06:18:23.609115348 +0000 UTC DownloadedAt: 2025-01-06 09:03:02.216498403 +0000 UTC Java DB: Version: 1 UpdatedAt: 2024-12-18 02:53:19.193069252 +0000 UTC NextUpdate: 2024-12-21 02:53:19.193069092 +0000 UTC DownloadedAt: 2024-12-19 12:47:39.311770211 +0000 UTC Check Bundle: Digest: sha256:f6901e03f486a48f47aa17a78d89d18e6c31ded82aff83ed19d0d73935a1a059 DownloadedAt: 2025-01-06 09:02:51.408344975 +0000 UTC
Beta Was this translation helpful? Give feedback.
All reactions