Skip to content

Commit 94b8555

Browse files
authored
Create 2025-04-01-Security-Incident-with-Package-Uploads.md
1 parent 1ab5a44 commit 94b8555

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Security Incident with Package Uploads
2+
3+
Yesterday, ``conda-forge`` was notified of a security incident reporting that the ``anaconda.org`` upload token
4+
for the ``conda-forge`` channel had been accidentally leaked between on or about 2025-02-10 to 2025-04-01. Our
5+
investigation resulted in the temporary artifact upload shutdown you observed yesterday (2025-04-01). The results
6+
of our analysis show that, as best as can reasonably be determined, the token was not used by any 3rd party to
7+
upload malicious artifacts.
8+
9+
More details below the fold.
10+
11+
<!-- truncate -->
12+
13+
## Report details
14+
15+
In the past few months, ``conda-forge`` has been engaging with an external security audit in collaboration with
16+
the [Open Source Technology Improvement Fund](https://ostif.org/) (OSTIF). The full results of this audit will be
17+
made public once it is complete per OSTIF responsible disclosure policies.
18+
19+
During this process, OSTIF and their contractor uncovered misconfigured infrastructure which exposed the ``anaconda.org``
20+
token for the ``conda-forge`` channel to all feedstock maintainers. The token was exposed from on or about 2025-02-10 through
21+
2025-04-01. See our [GitHub Security Advisory](https://github.com/conda-forge/infrastructure/security/advisories/GHSA-m4h2-49xf-vq72)
22+
for more details.
23+
24+
We have requested a CVE from GitHub and will amend this announcement once it is issued. Our response to this
25+
incident is detailed below, but TL;DR, as best as can reasonably be determined, **no packages were compromised
26+
during this time**.
27+
28+
Thank you for using ``conda-forge``, please [contact us](https://conda-forge.org/community/getting-in-touch/) if you
29+
have further questions, and please follow our [security process](https://github.com/conda-forge/conda-forge.github.io/blob/main/SECURITY.md)
30+
for responsible reporting of vulnerabilities.
31+
32+
**Finally, as a reminder, ``conda-forge`` packages are built by strangers on the internet (our wonderful feedstock
33+
maintainers!) and are not suitable for use cases that require secure software provenance.**
34+
35+
## Response timeline
36+
37+
The timeline and details of our response to this security incident are as follows:
38+
39+
- 2025-04-01 13:35 UTC: OSTIF and their contractor notified ``conda-forge`` of the leaked token.
40+
- 2025-04-01 14:00 UTC: The ``conda-forge/core`` team acknowledged receipt of the report and
41+
started conducting the investigation.
42+
- 2025-04-01 14:15 UTC: The ``conda-forge/core`` team disabled the token and stopped uploads to ``anaconda.org``.
43+
- 2025-04-01 14:20 UTC: We posted an [incident](https://github.com/conda-forge/status/issues/194)
44+
to our status page reporting that uploads were temporarily paused.
45+
- 2025-04-01 15:19 UTC: We audited all uploads to the ``conda-forge`` channel, looking for uploads that
46+
bypassed our upload staging process. We did not find any. This check is not completely robust, but it
47+
does indicate that nothing was obviously compromised.
48+
- 2025-04-01 15:53 UTC: We decided to delay disclosure by one day to 2025-04-02 in order to not generate
49+
confusion (2025-04-01 is [April Fools' Day](https://en.wikipedia.org/wiki/April_Fools%27_Day) in some countries
50+
when people commonly engage in practical jokes).
51+
- 2025-04-01 21:39 UTC: We deployed a fix to our infrastructure.
52+
- 2025-04-01 22:20 UTC: We then deployed a new token to our infrastructure and restarted uploads.
53+
- 2025-04-01 23:02 UTC: The status page [incident](https://github.com/conda-forge/status/issues/194) was marked as resolved.
54+
- 2025-04-02: We published this announcement and the advisory. We requested a CVE from GitHub and will update this
55+
notice when we get the number.

0 commit comments

Comments
 (0)