Description
free-fs 2.0.1 through 2.3.1 contains an SQL injection vulnerability in FileShareServiceImpl.getPages, which passes the orderBy parameter of the /apis/share/pages endpoint verbatim into the ORDER BY clause via MyBatis-Flex without a column whitelist. Authenticated users can supply CASE WHEN subquery expressions that use share ordering as a boolean oracle to read arbitrary database contents, such as share codes.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| dromara | free-fs | 2.0.1 ≤2.3.1 | — |
References
- https://vul.yulun.ac.cn/20261024/free-fs/
- https://github.com/dromara/free-fs/issues/28
- https://github.com/dromara/free-fs/blob/f8f4ff2a0b0af8fcd5cbecbf99a4afb7d0b7c020/fs-modules/fs-file/src/main/java/com/xddcodec/fs/file/service/impl/FileShareServiceImpl.java#L93-L99
- https://www.vulncheck.com/advisories/dromara-free-fs-2.0.1-through-2.3.1-sql-injection-via-orderby-parameter