Bug 1824033 (CVE-2020-10709)

Summary: CVE-2020-10709 Tower: OAuth2 refresh tokens do not respect the expiration
Product: [Other] Security Response Reporter: Borja Tarraso <btarraso>
Component: vulnerabilityAssignee: Nobody <nobody>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: gblomqui, mabashia, smcdonal
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ansible_tower 3.6.4, ansible_tower 3.5.6 Doc Type: If docs needed, set a value
Doc Text:
A security flaw was found in Ansible Tower when requesting an OAuth2 token with an OAuth2 application. Ansible Tower uses the token to provide authentication. This flaw allows an attacker to obtain a refresh token that does not expire. The original token granted to the user still has access to Ansible Tower, which allows any user that can gain access to the token to be fully authenticated to Ansible Tower.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1824034, 1824035    
Bug Blocks: 1824028    

Description Borja Tarraso 2020-04-15 06:34:38 UTC
OAuth2 refresh tokens do not respect the expiration specified in REFRESH_TOKEN_EXPIRE_SECONDS.

Comment 3 Borja Tarraso 2020-04-16 08:05:08 UTC
Acknowledgments:

Name: @sdwru

Comment 4 Borja Tarraso 2020-04-16 08:05:11 UTC
Statement:

Ansible Tower 3.5.5 and 3.6.3 as well as previous versions are affected.

Comment 5 Borja Tarraso 2020-04-16 08:05:14 UTC
Mitigation:

Whenever is possible, deleting the user from Ansible Tower is the only way to mitigate the authentication of OAuth2 tokens.

Comment 6 Borja Tarraso 2020-04-16 08:08:10 UTC
Upstream AWX fix: https://github.com/ansible/awx/issues/6630