WiredTiger: Security

| Version 3.1.0

Fork me on GitHub Join my user group
Security

# Database directory permissions

By default, WiredTiger files are stored beneath the database home directory. The WiredTiger database directory should have its permissions set to ensure database objects are not accessible to users without appropriate permissions. See Database Home Directory for more information.

# Absolute paths

WiredTiger prepends the name of the database home to file names which do not appear to be absolute paths. (The absolute path test is simplistic, matching a leading slash character on POSIX systems or a leading alphabetic character and colon on Windows.) No file path sanitization or validation is done by WiredTiger, for example, file paths may match universal naming conventions (UNC), or include `"../"` (dot dot slash) components.

Applications are responsible for validating user-supplied file paths as necessary to prevent directory traversal attacks.

# File permissions

WiredTiger creates file system objects readable and writable by the process owner, group and user, as modified by the process' umask value. The group ownership of created file system objects may vary depending on the system, and is not controlled by WiredTiger.

# Environment variables

Consider security when configuring WiredTiger to use the WIREDTIGER_HOME environment variable, especially in applications which run with permissions other than the user's. Such applications are potentially vulnerable to allowing users access to databases they could not otherwise access. See Database Home Directory for more information.