{"id":"DRUPAL-CONTRIB-2026-279","details":"S3 File System (s3fs) provides an additional file system to your Drupal site that stores files in Amazon's Simple Storage Service (S3) storage.\n\nThe module doesn't sufficiently isolate upload context between separate object(file) operations in the same request resulting in the potential for objects to be uploaded with incorrect access control list (ACL) entries or corruption through incorrect operation metadata.\n\nThis vulnerability is mitigated by the fact that an attacker must be able to trigger multiple file operations on S3FS.\n\nSome vectors are mitigated by:\n\n* Not enabling private:// takeover (`$settings['s3fs.use_s3_for_private'] = TRUE;`) or only enabled with `$settings['s3fs.upload_as_private'] = TRUE;`\n* The deployment does not utilize `hook_s3fs_stream_open_params_alter()`, `hook_s3fs_upload_params_alter()`, `hook_s3fs_copy_params_alter()`, or `hook_s3fs_command_params_alter()`\n\nIf both points above have always been true, all currently known vectors are mitigated.","aliases":["CVE-2026-118574"],"modified":"2026-10-28T18:15:02.810921273Z","published":"2026-10-28T17:33:39Z","references":[{"type":"WEB","url":"https://www.drupal.org/sa-contrib-2026-279"}],"affected":[{"package":{"name":"drupal/s3fs","ecosystem":"Packagist:https://packages.drupal.org/8","purl":"pkg:composer/drupal/s3fs?repository_url=https:%2F%2Fpackages.drupal.org%2F8"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.0"}],"database_specific":{"constraint":"\u003c3.12.0"}}],"database_specific":{"affected_versions":"\u003c3.12.0","source":"https://github.com/DrupalSecurityTeam/drupal-advisory-database/blob/main/advisories/s3fs/DRUPAL-CONTRIB-2026-279.json"}}],"schema_version":"1.9.2","credits":[{"name":"Justin Keiser (keiserjb)","contact":["https://www.drupal.org/u/keiserjb"]}]}