summaryrefslogtreecommitdiff
path: root/src/docs/security.dox
blob: 82e13ae7ad30260e05080f404a21084b74c6e599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*! @page security Security

@section directory_permissions 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 @ref home for more information.

@section absolute_path 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 \c "../"
(dot dot slash) components.

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

@section file_permissions 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.

@section environment_variables 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 @ref home for more information.

*/