Bug 2033055 (CVE-2021-43820)

Summary: CVE-2021-43820 seafile: sync token can be used to access data from other libraries
Product: [Other] Security Response Reporter: Guilherme de Almeida Suckevicz <gsuckevi>
Component: vulnerabilityAssignee: Nobody <nobody>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: alebastr89, comzeradd, jujens
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
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: 2033056    
Bug Blocks:    

Description Guilherme de Almeida Suckevicz 2021-12-15 19:05:11 UTC
Seafile is an open source cloud storage system. A sync token is used in Seafile file syncing protocol to authorize access to library data. To improve performance, the token is cached in memory in seaf-server. Upon receiving a token from sync client or SeaDrive client, the server checks whether the token exist in the cache. However, if the token exists in cache, the server doesn't check whether it's associated with the specific library in the URL. This vulnerability makes it possible to use any valid sync token to access data from any **known** library. Note that the attacker has to first find out the ID of a library which it has no access to. The library ID is a random UUID, which is not possible to be guessed. There are no workarounds for this issue.

Reference:
https://github.com/haiwen/seafile-server/security/advisories/GHSA-m3wc-jv6r-hvv8

Upstream patch:
https://github.com/haiwen/seafile-server/pull/520

Comment 1 Guilherme de Almeida Suckevicz 2021-12-15 19:05:26 UTC
Created seafile tracking bugs for this issue:

Affects: fedora-all [bug 2033056]