GitHub: Unauthorized Disabling of Mandatory Two-Factor Authentication
Adversaries who have achieved administrative account takeover are disabling mandatory two-factor authentication (2FA) requirements in GitHub to lower security barriers for persistence and unauthorized access.
Triage facts
Revision 1- Applicability
- GitHub
- Evidence
- Unknown
- Severity
- High
- Action
- Immediate escalation
- Sources
- 3 public sources
- Freshness
- Revision 1Nov 3, 15:31 UTC
- Source quality
- A1Likely
GitHub audit logs provide visibility into identity-control changes that impact organization and enterprise security. Specifically, the actions 'business.disable_two_factor_requirement' and 'org.disable_two_factor_requirement' indicate that the enforced 2FA requirement has been removed. This change downgrades all members within the affected scope to password-only authentication and allows the invitation of new accounts without 2FA, significantly increasing the risk of unauthorized access, persistence, and data exfiltration. This activity is often a precursor to further malicious operations following an initial account takeover of an owner or enterprise-admin account.
Impact
Removing the mandatory 2FA requirement immediately degrades the security posture of an entire GitHub organization or enterprise. Attackers may leverage this control change to maintain password-based persistence, facilitate the addition of attacker-controlled accounts with reduced friction, and bypass identity verification for subsequent high-impact modifications such as token generation, SSH key additions, or repository modifications.
Recommendation
- Immediately audit current GitHub organization and enterprise security settings to confirm that 'Require 2FA' is enabled for all members.
- Establish automated alerting for any occurrence of the 'business.disable_two_factor_requirement' or 'org.disable_two_factor_requirement' audit events.
- Conduct an immediate review of audit logs for any identity-related changes (e.g., new owner/member additions, PAT or OAuth app grants, SSH key updates) occurring immediately following a 2FA disablement event.
- Implement a break-glass policy for emergency access that requires documented change-management tickets for any temporary security control bypasses.
- Force a sign-out of all active sessions and require mandatory re-enrollment in 2FA for all organization members if a disablement event is identified as unauthorized.
Immediate actions
Review GitHub audit logs for business.disable_two_factor_requirement or org.disable_two_factor_requirement events
Threat Hunt
Identify unauthorized changes to 2FA requirements using GitHub audit logs
Data: GitHub audit logs (event.action, user.name, github.actor_ip)
Mitigations
Re-enable mandatory 2FA for all GitHub organizations and enterprises
Security policy bypass