Vulnerability · Published Dec 14, 2021 · Assigned by GitHub_M
CVE-2021-43820Permissions check bypass in Seafile
High 7.4
In plain English
A high-severity authorization bypass via user-controlled key in seafile-server from haiwen. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.0% (higher than 63% of all known vulnerabilities).
Official description
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.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| haiwen | seafile-server | Community Edition < 8.0.8Pro Edition < 8.0.15 |
Weakness: CWE-639 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
References
- https://github.com/haiwen/seafile-server/security/advisories/GHSA-m3wc-jv6r-hvv8 x_refsource_CONFIRM
- https://github.com/haiwen/seafile-server/pull/520 x_refsource_MISC