You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e76d1cc
Browse filesBrowse the repository at this point in the historyBrowse files
You can use the above email to report vulnerabilities in p5.js and related repositories managed by the processing org, including the reference website.
27
+
28
+
## Accidental Disclosure: Never Share Vulnerabilities Publicly!
29
+
30
+
Please do not report security vulnerabilities in a public channel. If you notice a vulnerability being disclosed in a public channel (whether on Discord, the forum, GitHub, or other platforms), please flag it to a moderator immediately.
31
+
32
+
If any moderator in our online community spaces notices something that is plausibly a security vulnerability disclosure (you don’t need to verify deeply at this stage, false positive is OK), they should:
33
+
34
+
1. screenshot and send to responsible.disclosure@processingfoundation.org
35
+
2. delete the public content if possible
36
+
3. reach out to the poster with a link to SECURITY.md in the correct project and a brief explanation that the content was taken down for security reasons
37
+
38
+
## Incident Response Process
39
+
40
+
Who handles incoming reports of security vulnerabilities? Who responds to security incidents? A mix of Processing Foundation staff, current p5.js maintainers, and p5.js contributors, taking on the following roles and responsibilities:
| Finder / Reporter | Credited when all reporter expectations (below) are met. |
45
+
| Incident Lead | First responder; owns the report end-to-end. By default, this is the Project Lead. Handoffs only with a written status summary. Owns advisory publication, and reporter notification. |
46
+
| Implementer(s) | Develops the fix; may be a maintainer or contributor nominated by Incident Lead or maintainer(s). |
47
+
| Reviewer(s) | At least one other maintainer reviews in the private fork before release. |
48
+
| Merge and Deploy | Deploys the updated/patched version. |
49
+
50
+
Whoever is available to claim the Incident Lead role starts as soon as they can with Phase 0.
51
+
52
+
### Phase 0 — Intake
53
+
54
+
Incident Lead:
55
+
56
+
- Notifies relevant people per project, to see which potential implementers are available
57
+
- Moves the conversation into a GitHub Security Advisory, if it is not already on there.
58
+
59
+
### Phase 1 — Triage & Classification
60
+
61
+
Acknowledge receipt to the reporter within **72H**, along with triage & classification (below).
62
+
63
+
Reproduce the issue, potentially iterating with the reporter for more information.
64
+
65
+
Notify along private maintainer chat channels.
66
+
67
+
Is something a security vulnerability or incident? Use CIA (Confidentiality, Integrity, Availability):
68
+
69
+
- (0) Not a problem: cannot reproduce, or behavior already documented as accepted risk in the threat model. Close with explanation.
70
+
71
+
- (1) Public bug: problem is real but no CIA impact. Respond to the reporter with explanation, but fix openly in a normal PR.
72
+
73
+
_Example: [decompression bomb patch](https://github.com/processing/p5.js/releases#release-v2.3.3) added in p5.js 2.3.3_
74
+
75
+
- (2) Vulnerability: impacts CIA (confirmed or plausibly demonstrated), but no evidence of exploitation. Move on to Phase 3 (Fix)
76
+
77
+
- (3) Incident, including a High-Severity Vulnerability without logs to rule out past exploit: Move on to Phase 2 (Expedited Report) and then 3 (Fix)
78
+
79
+
_Example: [account takeover vulnerability](https://github.com/processing/p5.js-web-editor/security/advisories/GHSA-p4fp-294x-r7cw) fixed in p5.js Editor 2.22.8_
80
+
81
+
### Phase 2 — (Incidents Only) Expedited Report
82
+
83
+
In case of an incident, we have some specific reporting responsibilities, which are also fulfilled within **72H** from the initial report.
84
+
85
+
### Phase 3 — Private Fix
86
+
87
+
The GitHub Security Advisory (GHSA) thread is the main place for technical discussion, and enables working on a fix in a private repository with a specific set of collaborators. In the GHSA workflow, there is a severity scoring tool that uses CVSS.
88
+
89
+
Timing of the fix depends on the CVSS score:
90
+
91
+
1. Critical: act immediately, as soon as possible
92
+
2. High/medium: target patch completion or release within about a week
93
+
3. Low: batch into routine releases
94
+
95
+
### Phase 4 — Release & Disclosure
96
+
97
+
- Merge + deploy the fix, verify it is patched on production
98
+
- Publish advisory and describe patch in release notes
99
+
- Notify the reporter(s) and everyone who worked on the fix
100
+
101
+
## Reporter Expectations
102
+
103
+
Reporters are offered credit in GHSA if their GitHub username is known and if their report:
104
+
105
+
- Contains a brief and useful summary, plus clear steps to reproduce
106
+
- Focuses on one report per defect, and avoids spurious LLM-generated reports
0 commit comments