Skip to content

Commit 0e76c09

Browse files
Added: Add Security Incident Response Checklist page for info on the phases that will be gone through when a security vulnerability is reported
Co-authored-by: @Grimler91 <grimler@termux.dev> Co-authored-by: @agnostic-apollo <agnosticapollo@gmail.com>
1 parent c23bfd8 commit 0e76c09

File tree

2 files changed

+241
-0
lines changed

2 files changed

+241
-0
lines changed
Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
---
2+
layout: page
3+
title: Security Incident Response Checklist
4+
redirect_from: /security-incident-response-checklist
5+
page_ref: /security-incident-response-checklist.html
6+
---
7+
8+
A Termux security incident response will normally have the following `5` phases.
9+
10+
- [Phase 1: Initial Assessment and Validation](#phase-1-initial-assessment-and-validation)
11+
- [Phase 2: Immediate Response and Mitigation](#phase-2-immediate-response-and-mitigation)
12+
- [Phase 3: Impact Assessment and User Analysis](#phase-3-impact-assessment-and-user-analysis)
13+
- [Phase 4: Communication and Release](#phase-4-communication-and-release)
14+
- [Phase 5: Post-Incident Review](#phase-5-post-incident-review)
15+
16+
See also [Emergency Contacts](#emergency-contacts).
17+
18+
---
19+
20+
&nbsp;
21+
22+
23+
24+
25+
26+
## Phase 1: Initial Assessment and Validation
27+
28+
### Updates
29+
30+
<< Use this section to detail the report received, initial assessment, and validation results. >>
31+
32+
Example:
33+
34+
I have reviewed the security report and confirmed this vulnerability exists in termux component or package FOOBAR.
35+
36+
Assessment of exploitability:
37+
38+
- Attack complexity: [High/Medium/Low]
39+
- Prerequisites: [Authentication required/Network access/Specific configuration/etc]
40+
- User interaction required: [Yes/No]
41+
42+
Potential impact:
43+
- User data confidentiality: [At risk/Not affected]
44+
- Termux VPS integrity: [At risk/Not affected]
45+
- Estimated affected installations: [Number/Percentage]
46+
47+
### Resources
48+
49+
- [Termux Security Policy](https://termux.dev/security)
50+
- [CVE Scoring Calculator](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator)
51+
52+
### Tasks
53+
54+
- [ ] Reproduce the vulnerability in test environment.
55+
- [ ] Assess CVSS score and severity level.
56+
- [ ] Check if vulnerability affects current stable release.
57+
- [ ] Check if vulnerability affects current beta release (if applicable).
58+
- [ ] Determine if this requires immediate action or can wait for next release cycle.
59+
- [ ] Document technical details and root cause.
60+
61+
### Assessment Summary
62+
63+
- **Severity Level**: `Critical|High|Medium|Low`
64+
- **CVSS Score**: `X.X`
65+
- **Affects versions**: `X.Y.Z to X.Y.Z`
66+
- **Root cause**: Brief technical explanation
67+
- **Introduced in commit/version**: `commit-hash` or `vX.Y.Z`
68+
- **Attack vector**: `Malicious termux package|another installed app|...`
69+
- **Estimated timeline for fix**: `X days/weeks`
70+
71+
---
72+
73+
&nbsp;
74+
75+
76+
77+
78+
79+
## Phase 2: Immediate Response and Mitigation
80+
81+
### Updates
82+
83+
<< Document immediate actions taken and mitigation strategies or call out any blockers or challenges. >>
84+
85+
Example:
86+
87+
Working on hotfix for component FOOBAR version X.Y.Z. Temporary workaround available by removing/disabling [feature/package].
88+
89+
### Tasks
90+
91+
- [ ] Implement immediate workaround if possible.
92+
- [ ] Update security advisory draft.
93+
- [ ] Prepare patch/hotfix.
94+
- [ ] Test fix thoroughly in development environment.
95+
- [ ] Prepare updated Docker images and binaries.
96+
- [ ] Draft security advisory for GitHub Security Advisories.
97+
- [ ] Consider if coordinated disclosure timeline needs adjustment.
98+
99+
### Mitigation Details
100+
101+
- **Workaround available**: `Yes|No` - If yes, describe briefly
102+
- **Fix implemented on**: `YYYY-MM-DD`
103+
- **Patch/hotfix version**: `vX.Y.Z`
104+
- **GitHub Security Advisory ID**: `GHSA-XXXX-XXXX-XXXX`
105+
106+
---
107+
108+
&nbsp;
109+
110+
111+
112+
113+
114+
## Phase 3: Impact Assessment and User Analysis
115+
116+
### Updates
117+
118+
<< Analysis of potential impact on the Termux deployments. >>
119+
120+
Based on app-download statistics from F-Droid, or package download statistics from VPS, approximately X installations may be affected.
121+
122+
### Tasks
123+
124+
- [ ] Estimate number of vulnerable installations.
125+
- [ ] Assess if default configurations are vulnerable.
126+
- [ ] If possible, review if vulnerability has been exploited (check logs etc).
127+
- [ ] Determine if any user data may have been compromised.
128+
- [ ] Check for indicators of active exploitation in the wild.
129+
130+
### Analysis Notes
131+
132+
_Document your impact assessment process and findings._
133+
134+
### Impact Summary
135+
136+
- **Estimated vulnerable installations**: `~X out of Y`
137+
- **Default configuration vulnerable**: `Yes|No`
138+
- **Evidence of exploitation**: `Found|Not found|Unknown`
139+
- **User data potentially at risk**: `Email content|Credentials|Keys|Configuration|None`
140+
- **Confidence in assessment**: `High|Medium|Low`
141+
142+
---
143+
144+
&nbsp;
145+
146+
147+
148+
149+
150+
## Phase 4: Communication and Release
151+
152+
### Updates
153+
154+
<< Communication strategy and release timeline. >>
155+
156+
Security release vX.Y.Z will be published on YYYY-MM-DD with coordinated disclosure.
157+
158+
### Tasks
159+
160+
**Pre-release preparation:**
161+
162+
- [ ] Finalize security patch.
163+
- [ ] Prepare release notes with security details.
164+
- [ ] Update documentation if needed.
165+
- [ ] Test automated update mechanisms.
166+
- [ ] Prepare GitHub Security Advisory.
167+
168+
**Communication channels:**
169+
170+
- [ ] Draft announcement for Termux community on website, reddit and matrix/discord.
171+
- [ ] Prepare release announcement for GitHub.
172+
- [ ] Draft security advisory content.
173+
- [ ] Consider notification to major distributors/packagers.
174+
175+
**Release execution:**
176+
177+
- [ ] Update bootstraps for termux-app (if applicable).
178+
- [ ] Publish patched version to GitHub releases.
179+
- [ ] Publish GitHub Security Advisory.
180+
- [ ] Post to community channels (reddit/matrix/discord).
181+
- [ ] Update project website/documentation.
182+
- [ ] Submit CVE request if warranted (CVSS ≥ 4.0).
183+
184+
**Post-release:**
185+
186+
- [ ] Monitor community channels for questions.
187+
- [ ] Track adoption of security update.
188+
- [ ] Follow up on any additional reports.
189+
- [ ] Document lessons learned.
190+
191+
### Communication Record
192+
193+
- **Security release published**: `YYYY-MM-DD HH:MM UTC`
194+
- **GitHub Security Advisory**: `GHSA-XXXX-XXXX-XXXX`
195+
- **CVE ID** (if applicable): `CVE-YYYY-XXXXX`
196+
- **Community announcement**: [Link to forum post]
197+
- **Estimated time to 50% adoption**: `X days/weeks`
198+
199+
---
200+
201+
&nbsp;
202+
203+
204+
205+
206+
207+
## Phase 5: Post-Incident Review
208+
209+
### What went well?
210+
-
211+
212+
### What could be improved?
213+
-
214+
215+
### Action items for future incidents:
216+
- [ ]
217+
- [ ]
218+
- [ ]
219+
220+
### Process improvements:
221+
- [ ]
222+
- [ ]
223+
224+
---
225+
226+
&nbsp;
227+
228+
229+
230+
231+
232+
## Emergency Contacts
233+
234+
- [@Grimler91](https://github.com/Grimler91) ([grimler@termux.dev](mailto:grimler@termux.dev))
235+
- [@agnostic-apollo](https://github.com/agnostic-apollo) ([agnostic-apollo@termux.dev](mailto:agnostic-apollo@termux.dev))
236+
237+
---
238+
239+
&nbsp;

en/security.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ The Termux team takes all security vulnerabilities seriously and we encourage ex
1717
2. We will normally deploy fixes for the security vulnerability within `90` days. However, if the vulnerability is being actively exploited, then we aim to deploy fixes within `7` days.
1818
3. After the fixes have been deployed and available to users, the vulnerability report will be disclosed publicly after `30` days on [GitHub security advisories](https://github.com/advisories) and/or on our <a href="/{{- page.lang -}}/posts/security.html">Termux site security posts</a>.
1919

20+
Check the <a href="/{{- page.lang -}}/security-incident-response-checklist.html">Termux Security Incident Response Checklist</a> for more info on the actions that will taken when a security vulnerability is reported.
21+
2022
&nbsp;
2123

2224

0 commit comments

Comments
 (0)