An information disclosure via path traversal was discovered in apport/hookutils.py function read_file(). This issue affects: apport 2.14.1 versions prior to 2.14.1-0ubuntu3.29+esm8; 2.20.1 versions prior to 2.20.1-0ubuntu2.30+esm2; 2.20.9 versions prior to 2.20.9-0ubuntu7.26; 2.20.11 versions prior to 2.20.11-0ubuntu27.20; 2.20.11 versions prior to 2.20.11-0ubuntu65.3;
The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize “../” sequences that can resolve to a location that is outside of that directory.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Apport | Canonical | 2.14.1-0ubuntu1 (including) | 2.14.1-0ubuntu1 (including) |
Apport | Canonical | 2.14.1-0ubuntu2 (including) | 2.14.1-0ubuntu2 (including) |
Apport | Canonical | 2.14.1-0ubuntu3 (including) | 2.14.1-0ubuntu3 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.1 (including) | 2.14.1-0ubuntu3.1 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.2 (including) | 2.14.1-0ubuntu3.2 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.3 (including) | 2.14.1-0ubuntu3.3 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.4 (including) | 2.14.1-0ubuntu3.4 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.5 (including) | 2.14.1-0ubuntu3.5 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.6 (including) | 2.14.1-0ubuntu3.6 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.7 (including) | 2.14.1-0ubuntu3.7 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.8 (including) | 2.14.1-0ubuntu3.8 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.9 (including) | 2.14.1-0ubuntu3.9 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.10 (including) | 2.14.1-0ubuntu3.10 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.11 (including) | 2.14.1-0ubuntu3.11 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.12 (including) | 2.14.1-0ubuntu3.12 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.13 (including) | 2.14.1-0ubuntu3.13 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.14 (including) | 2.14.1-0ubuntu3.14 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.15 (including) | 2.14.1-0ubuntu3.15 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.16 (including) | 2.14.1-0ubuntu3.16 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.17 (including) | 2.14.1-0ubuntu3.17 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.18 (including) | 2.14.1-0ubuntu3.18 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.19 (including) | 2.14.1-0ubuntu3.19 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.20 (including) | 2.14.1-0ubuntu3.20 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.21 (including) | 2.14.1-0ubuntu3.21 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.23 (including) | 2.14.1-0ubuntu3.23 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.24 (including) | 2.14.1-0ubuntu3.24 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.25 (including) | 2.14.1-0ubuntu3.25 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.27 (including) | 2.14.1-0ubuntu3.27 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.28 (including) | 2.14.1-0ubuntu3.28 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.29 (including) | 2.14.1-0ubuntu3.29 (including) |
Apport | Canonical | 2.14.1-0ubuntu3.29+esm7 (including) | 2.14.1-0ubuntu3.29+esm7 (including) |
Apport | Ubuntu | bionic | * |
Apport | Ubuntu | devel | * |
Apport | Ubuntu | esm-infra/xenial | * |
Apport | Ubuntu | focal | * |
Apport | Ubuntu | hirsute | * |
Apport | Ubuntu | impish | * |
Apport | Ubuntu | jammy | * |
Apport | Ubuntu | trusty | * |
Apport | Ubuntu | trusty/esm | * |
Apport | Ubuntu | xenial | * |
This allows attackers to traverse the file system to access files or directories that are outside of the restricted directory. The “../” manipulation is the canonical manipulation for operating systems that use “/” as directory separators, such as UNIX- and Linux-based systems. In some cases, it is useful for bypassing protection schemes in environments for which “/” is supported but not the primary separator, such as Windows, which uses “" but can also accept “/”.