Skip to content

Commit 704f153

Browse files
committed
feat: [#272] add Caddy to Docker security scan workflow
- Add caddy:2.10 to third-party images matrix in CI - Add SARIF upload step for Caddy vulnerability scanning - Create security scan documentation for Caddy image - Document 4 known vulnerabilities (3 HIGH, 1 CRITICAL) in Go dependencies
1 parent c8236eb commit 704f153

5 files changed

Lines changed: 86 additions & 6 deletions

File tree

.github/workflows/docker-security-scan.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ jobs:
107107
- mysql:8.0
108108
- grafana/grafana:11.4.0
109109
- prom/prometheus:v3.0.1
110+
- caddy:2.10
110111

111112
steps:
112113
- name: Display vulnerabilities (table format)
@@ -219,3 +220,11 @@ jobs:
219220
sarif_file: sarif-third-party-prom-prometheus-v3.0.1-${{ github.run_id }}/trivy.sarif
220221
category: docker-third-party-prom-prometheus-v3.0.1
221222
continue-on-error: true
223+
224+
- name: Upload third-party caddy SARIF
225+
if: always()
226+
uses: github/codeql-action/upload-sarif@v4
227+
with:
228+
sarif_file: sarif-third-party-caddy-2.10-${{ github.run_id }}/trivy.sarif
229+
category: docker-third-party-caddy-2.10
230+
continue-on-error: true

docs/issues/272-add-https-support-with-caddy.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -676,11 +676,11 @@ Add link to HTTPS setup guide.
676676

677677
### Phase 4: Security Workflow Updates (1 hour)
678678

679-
- [ ] Add `caddy:2.10` to security scan workflow matrix
680-
- [ ] Add SARIF upload step for Caddy scan results
681-
- [ ] Update `docs/security/docker/scans/README.md` with Caddy entry
682-
- [ ] Run security scan locally to verify configuration
683-
- [ ] Document vulnerability assessment (reference [docs/research/caddy-tls-proxy-evaluation/security-scan.md](../research/caddy-tls-proxy-evaluation/security-scan.md))
679+
- [x] Add `caddy:2.10` to security scan workflow matrix
680+
- [x] Add SARIF upload step for Caddy scan results
681+
- [x] Update `docs/security/docker/scans/README.md` with Caddy entry
682+
- [x] Run security scan locally to verify configuration
683+
- [x] Document vulnerability assessment (reference [docs/research/caddy-tls-proxy-evaluation/security-scan.md](../research/caddy-tls-proxy-evaluation/security-scan.md))
684684

685685
### Phase 5: Documentation (4-5 hours)
686686

docs/security/docker/scans/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,19 @@ This directory contains historical security scan results for Docker images used
77
| Image | Version | HIGH | CRITICAL | Status | Last Scan | Details |
88
| -------------------------- | ------- | ---- | -------- | ------------ | ------------ | ----------------------------------- |
99
| `torrust/tracker-deployer` | latest | 25 | 7 | ⚠️ Monitored | Jan 10, 2026 | [View](torrust-tracker-deployer.md) |
10+
| `caddy` | 2.10 | 3 | 1 | ⚠️ Monitored | Jan 13, 2026 | [View](caddy.md) |
1011
| `prom/prometheus` | v3.5.0 | 0 | 0 | ✅ SECURE | Dec 29, 2025 | [View](prometheus.md) |
1112
| `grafana/grafana` | 12.3.1 | 0 | 0 | ✅ SECURE | Dec 29, 2025 | [View](grafana.md) |
1213
| `mysql` | 8.4 | 0 | 0 | ✅ SECURE | Dec 29, 2025 | [View](mysql.md) |
1314

14-
**Overall Status**: ⚠️ Deployer image has upstream Debian vulnerabilities (no fixes available yet). All other images secure.
15+
**Overall Status**: ⚠️ Deployer and Caddy images have upstream vulnerabilities (fixes available, monitoring for releases).
1516

1617
## Scan Archives
1718

1819
Each file contains the complete scan history for a service:
1920

2021
- [torrust-tracker-deployer.md](torrust-tracker-deployer.md) - The deployer Docker image
22+
- [caddy.md](caddy.md) - Caddy TLS termination proxy
2123
- [prometheus.md](prometheus.md) - Prometheus monitoring
2224
- [grafana.md](grafana.md) - Grafana dashboards
2325
- [mysql.md](mysql.md) - MySQL database
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Caddy Security Scan History
2+
3+
**Image**: `caddy:2.10`
4+
**Purpose**: TLS termination proxy for HTTPS support
5+
**Documentation**: [Caddy TLS Proxy Evaluation](../../research/caddy-tls-proxy-evaluation/README.md)
6+
7+
## Current Status
8+
9+
| Version | HIGH | CRITICAL | Status | Scan Date |
10+
| ------- | ---- | -------- | ------------ | ------------ |
11+
| 2.10 | 3 | 1 | ⚠️ Monitored | Jan 13, 2026 |
12+
13+
**Deployment Status**: ✅ Safe to deploy with monitoring
14+
15+
## Vulnerability Summary
16+
17+
The Caddy 2.10 image has:
18+
19+
- **Alpine base image**: Clean (0 vulnerabilities)
20+
- **Caddy binary (Go)**: 4 vulnerabilities in dependencies (not Caddy core)
21+
22+
All vulnerabilities have fixed versions available upstream and are expected to be resolved in the next Caddy release.
23+
24+
## Scan History
25+
26+
### January 13, 2026 - caddy:2.10
27+
28+
**Scanner**: Trivy v0.68
29+
30+
| Target | Type | HIGH | CRITICAL |
31+
| -------------------------- | -------- | ---- | -------- |
32+
| caddy:2.10 (alpine 3.22.2) | alpine | 0 | 0 |
33+
| usr/bin/caddy | gobinary | 3 | 1 |
34+
35+
**Vulnerabilities Found**:
36+
37+
| CVE | Severity | Component | Fixed Version |
38+
| -------------- | -------- | --------------------------------- | --------------- |
39+
| CVE-2025-44005 | CRITICAL | github.com/smallstep/certificates | 0.29.0 |
40+
| CVE-2025-59530 | HIGH | github.com/quic-go/quic-go | 0.49.1, 0.54.1 |
41+
| CVE-2025-58183 | HIGH | stdlib (archive/tar) | 1.24.8, 1.25.2 |
42+
| CVE-2025-61729 | HIGH | stdlib (crypto/x509) | 1.24.11, 1.25.5 |
43+
44+
**Risk Assessment**:
45+
46+
1. **CVE-2025-44005**: Authorization bypass in certificate creation (smallstep library)
47+
2. **CVE-2025-59530**: QUIC protocol crash (affects HTTP/3 only)
48+
3. **CVE-2025-58183**: Unbounded allocation in tar parsing
49+
4. **CVE-2025-61729**: Resource consumption in x509 certificate validation
50+
51+
**Recommendation**: Deploy with monitoring. Update to patched version when Caddy v2.11 releases.
52+
53+
## Related Documentation
54+
55+
- [Full Security Analysis](../../../research/caddy-tls-proxy-evaluation/security-scan.md)
56+
- [Caddy Evaluation Summary](../../../research/caddy-tls-proxy-evaluation/README.md)
57+
- [HTTPS Implementation](../../../issues/272-add-https-support-with-caddy.md)
58+
59+
## How to Rescan
60+
61+
```bash
62+
trivy image --severity HIGH,CRITICAL caddy:2.10
63+
```
64+
65+
## Security Advisories
66+
67+
- **Caddy**: <https://github.com/caddyserver/caddy/security/advisories>
68+
- **Alpine Linux**: <https://secdb.alpinelinux.org/>

project-words.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ QUIC
4545
RAII
4646
RUSTDOCFLAGS
4747
Repomix
48+
Rescan
4849
Rustdoc
4950
SARIF
5051
SCRIPTDIR

0 commit comments

Comments
 (0)