CVE-2026-46699: conda-smithy GitHub Username Takeover Leading to Unauthorized Repository Access
conda-smithy, a widely-used tool for building conda packages through automated CI services, contains a vulnerability that could allow an attacker to gain unauthorized write access to feedstock repositories on GitHub. The flaw stems from the system using mutable GitHub usernames—which can be changed or reassigned—as the basis for routing repository access invitations, rather than using stable, permanent GitHub user identifiers. If someone changes their GitHub username or if GitHub reassigns a username after account deletion, an attacker could potentially intercept repository invitations intended for the original user and gain write access to critical package build repositories. This vulnerability affects conda-smithy versions prior to 3.61.0.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.6 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L
- Weaknesses (CWE)
- CWE-284
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-18 / 2026-06-23
NVD description (verbatim)
conda-smithy is a tool for combining a conda recipe with configurations to build using freely hosted CI services into a single repository. Prior to version 3.61.0, a vulnerability in the conda-forge automated webservices allowed unintended write access to feedstock repositories through GitHub username takeover. The root cause is the use of mutable GitHub usernames as identifiers for repository invitation routing, rather than stable, immutable GitHub user IDs. Version 3.61.0 fixes the issue.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exploits a fundamental design flaw in how conda-smithy's automated webservices handle repository invitation routing within conda-forge infrastructure. Rather than using immutable GitHub user IDs (which remain constant regardless of username changes), the system relies on mutable GitHub usernames as routing identifiers. GitHub's username reassignment policy means that after an account is deleted, the username becomes available for reuse by other users. An attacker could register or claim a previously used username associated with a repository invitation, allowing them to receive and accept invitations intended for the original user. This grants the attacker write access to feedstock repositories, enabling code injection into package build pipelines. The CVSS 3.1 score of 7.6 (HIGH) reflects the network-accessible nature of the attack, the requirement for user interaction (accepting an invitation), and the significant integrity impact, though confidentiality and availability impacts are limited to the immediate context of the compromised repository.
Business impact
Feedstock repositories in conda-forge are critical infrastructure for the Python and scientific computing ecosystem. Write access to these repositories enables attackers to inject malicious code into package build processes, potentially affecting millions of downstream users who install compromised packages. Beyond direct supply chain contamination, successful exploitation could damage the reputation and trust of conda-forge as a whole, undermine confidence in open-source CI/CD automation, and create liability for organizations whose packages or environments are affected. Organizations heavily invested in conda-based workflows—particularly in data science, machine learning, and scientific research—face elevated risk if their maintainers' accounts are compromised through this vector.
Affected systems
conda-smithy versions prior to 3.61.0 are affected. The vulnerability exists in the conda-forge automated webservices infrastructure that uses conda-smithy for repository and CI management. Any organization or project maintaining a feedstock repository within conda-forge and using conda-smithy versions before 3.61.0 could be targeted. The attack surface includes all conda-forge contributors and maintainers whose usernames could potentially be registered or reassigned.
Exploitability
Exploitability requires several conditions to align: the attacker must identify a target repository, obtain knowledge of or wait for a username associated with that repository to become available (either through voluntary account deletion or natural reassignment after GitHub's waiting period), successfully register or claim that username, and then position themselves to receive the repository invitation. While these steps require planning and patience, the barrier to execution is not prohibitively high for a motivated attacker. The attack does not require sophisticated technical capability, though it does require social engineering awareness or monitoring of username availability. The requirement for user interaction (acceptance of the invitation) is a minor friction point but does not significantly hinder exploitation if the attacker controls the username.
Remediation
Upgrade conda-smithy to version 3.61.0 or later immediately. This version remedies the vulnerability by implementing immutable GitHub user IDs as the basis for invitation routing, eliminating the username reassignment attack vector. Organizations should prioritize this upgrade for all systems managing conda-forge feedstock repositories. After upgrading, conduct an audit of recent repository access logs and invitation history to detect any unauthorized access or suspicious activity during the vulnerability window.
Patch guidance
Apply conda-smithy version 3.61.0 or any subsequent release. Verify the patch through conda-forge documentation or the conda-smithy GitHub repository. For deployment pipelines, test the upgrade in a staging environment to ensure compatibility with existing feedstock build configurations before rolling out to production systems. Given the supply-chain sensitivity of this component, consider prioritizing rapid patching across all conda-forge infrastructure.
Detection guidance
Review repository access logs and audit trails for invitations routed to usernames that were recently created, changed, or reassigned. Examine the history of contributors and their GitHub usernames—if you notice a username change coinciding with new repository access grants, investigate immediately. Monitor for unexpected commits or build configuration changes in feedstock repositories following username changes of collaborators. Check conda-smithy logs for anomalies in invitation acceptance patterns. Consider implementing additional authentication checks or approval workflows for repository access changes within your local conda-forge deployment.
Why prioritize this
This vulnerability merits immediate attention due to its direct impact on supply-chain integrity. conda-forge is foundational infrastructure for the Python ecosystem, and compromised feedstock repositories could distribute malicious packages to millions of users. The attack vector, while requiring some preparation, is not technically complex and becomes increasingly practical as time passes and usernames become available through natural account churn. Organizations maintaining critical packages or relying on conda as a core deployment vector should treat this as urgent.
Risk score, explained
The CVSS 3.1 score of 7.6 (HIGH) reflects: network accessibility (AV:N) with no special network access required; low attack complexity (AC:L) once a username is obtained; no privilege requirement (PR:N); but requires user interaction (UI:R) to accept the invitation. The integrity impact is rated HIGH because successful exploitation grants write access to critical package build infrastructure. Confidentiality and availability impacts are rated LOW in the context of the immediate attack, though downstream impact could be severe if malicious code is successfully injected into packages. The score appropriately captures the serious but conditional nature of this threat.
Frequently asked questions
Could an attacker automatically register usernames to exploit this, or must they wait for a username to become available?
Attackers must wait for a username to become available through either voluntary account deletion by the original user or through GitHub's natural username recycling process after account deletion. However, attackers can proactively monitor which usernames are associated with feedstock repositories and watch for these usernames to enter the available pool, making the exploit opportunistic rather than completely random.
Does upgrading to 3.61.0 require any configuration changes or risk breaking existing feedstock builds?
Upgrade to version 3.61.0 should be transparent in terms of configuration. The change is internal to how invitations are routed—it switches from username-based to user-ID-based routing. However, as with any significant upgrade in build infrastructure, test in a non-production environment first to ensure compatibility with your specific feedstock configurations.
If our organization doesn't maintain feedstock repositories but uses conda-forge packages, are we directly affected by this vulnerability?
You are not directly affected by this specific vulnerability, as it targets feedstock repository maintainers, not end users installing packages. However, if feedstock repositories were compromised during the vulnerability window, the packages they produce could contain malicious code. Monitor conda-forge security advisories for any reports of compromised packages.
What should we do if we suspect our feedstock repository was accessed via this vulnerability?
Immediately rotate all credentials and API tokens associated with the repository, review the full commit history and configuration changes for suspicious modifications, rebuild and re-verify all packages published during the suspected compromise window, and notify any downstream consumers of your packages. Report the suspected compromise to conda-forge security contacts.
This analysis is based on the published CVE record and available technical information as of the date of publication. No exploit code or weaponized proof-of-concept is provided. Organizations should verify patch availability and compatibility with their specific conda-smithy deployments through official vendor channels and conda-forge documentation. The severity and exploitability assessments assume standard GitHub and conda-forge configurations; custom implementations may have different risk profiles. This information is provided for defensive security purposes only. Source: NVD (public-domain), retrieved 2026-07-27. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2025-22426HIGHAndroid ComputerEngine URI Escalation Privilege Vulnerability
- CVE-2025-46315HIGHmacOS Tahoe Permissions Flaw Enables Unauthorized Data Access
- CVE-2025-66391HIGHCitrix Cloud Read-Only Account Privilege Escalation to Account Takeover
- CVE-2026-11179HIGHChrome ORB Site Isolation Bypass (CVSS 8.8)
- CVE-2026-11344HIGHUnrestricted File Upload in code-projects Vehicle Management System 1.0
- CVE-2026-11474HIGHUnrestricted File Upload in Kushan2k Student Management System
- CVE-2026-12529HIGHSourceCodester CET Grading System Improper Access Control Vulnerability
- CVE-2026-32995HIGHRocket.Chat DDP Authentication Bypass Exposes All Private Messages