The core `system` module handles downloads of private and temporary files. Contrib modules can define additional kinds of files (schemes) that may also be handled by the `system` module.
In some cases, files may be served with the HTTP header `Cache-Control: public` when they should be uncacheable. This can lead to some users getting cached versions of files with information they should not be able to access. For example, files may be cached by Varnish or a CDN.
This vulnerability is mitigated by the following:
1. Drupal must be configured to handle non-public files using a custom or contributed module providing an additional file scheme.
2. An attacker must know to request a file that has previously been
requested by a more-privileged user, and that file must still be cached.