Local Symlink Attack via Predictable Temporary File in FastNetMon
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| n/a | n/a | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Pavel-odintsov | Fastnetmon |
|
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.127% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:pavel-odintsov:fastnetmon:*:*:*:*:community:*:*:* |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Local Symlink Attack via Predictable Temporary File in FastNetMon |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Symlink Attack Allows Root File Overwrite in FastNetMon Community Edition | |
| Weaknesses | CWE-22 CWE-284 |
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-59 | |
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Pavel-odintsov
Pavel-odintsov fastnetmon |
|
| Vendors & Products |
Pavel-odintsov
Pavel-odintsov fastnetmon |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Symlink Attack Allows Root File Overwrite in FastNetMon Community Edition | |
| Weaknesses | CWE-22 CWE-284 |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | FastNetMon Community Edition through 1.2.9 is vulnerable to a local symlink attack via predictable file paths in /tmp. The statistics file path defaults to '/tmp/fastnetmon.dat' (src/fastnetmon.cpp line 159). The print_screen_contents_into_file() function (src/fastnetmon_logic.cpp line 2186) opens this path with std::ios::trunc without checking for symlinks or using O_NOFOLLOW. Additionally, the chmod() call on line 2190 always operates on cli_stats_file_path regardless of which file_path parameter was passed (a bug that applies wrong permissions), and the umask is set to 0 during daemonization (src/fastnetmon.cpp line 1821), making all created files world-writable. A local attacker can exploit this to overwrite arbitrary files as the FastNetMon process user (typically root). | |
| References |
|