FreeRTOS FATFS ff_file.c FF_Close Config use after free
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.4 | $0-$5k | 0.00 |
Summary
A vulnerability has been found in FreeRTOS and classified as critical. Affected is the function FF_Close of the file ff_file.c of the component FATFS. This manipulation as part of Config causes use after free.
This vulnerability is tracked as CVE-2019-18178. The attack is possible to be carried out remotely. No exploit exists.
Details
A vulnerability classified as critical was found in FreeRTOS (the affected version unknown). Affected by this vulnerability is the function FF_Close of the file ff_file.c of the component FATFS. The manipulation as part of a Config leads to a use after free vulnerability. The CWE definition for the vulnerability is CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. As an impact it is known to affect confidentiality, integrity, and availability. The summary by CVE is:
Real Time Engineers FreeRTOS+FAT 160919a has a use after free. The function FF_Close() is defined in ff_file.c. The file handler pxFile is freed by ffconfigFREE, which (by default) is a macro definition of vPortFree(), but it is reused to flush modified file content from the cache to disk by the function FF_FlushCache().
The weakness was disclosed 11/04/2019 as confirmed bug report (Website). It is possible to read the advisory at sourceforge.net. This vulnerability is known as CVE-2019-18178 since 10/17/2019. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details of the vulnerability are known, but there is no available exploit. The pricing for an exploit might be around USD $0-$5k at the moment (estimation calculated on 11/05/2019). The advisory points out:
The function FF_Close() is defined in ff_file.c. In the line 2970, the file handler pxFile is freed by the function ffconfigFREE(), which default is a macro definition of vPortFree(), but the handler pxFile reused as a part of arguments to flush modified file content from cache to disk by the function FF_FlushCache() in the line 2974.
The advisory illustrates:
The bugs type is use after free. If the freed heap of pxFile is reused before the function FF_FlushCache() is executed, which is possible due to task scheduler, random content may be writed to disk by the flushing cache operation.
There is no information about possible countermeasures known. It may be suggested to replace the affected object with an alternative product.
Be aware that VulDB is the high quality source for vulnerability data.
Product
Name
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.4VulDB Meta Temp Score: 7.4
VulDB Base Score: 7.3
VulDB Temp Score: 7.3
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.5
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Use after freeCWE: CWE-416 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: no mitigation knownStatus: 🔍
0-Day Time: 🔍
Timeline
10/17/2019 🔍11/04/2019 🔍
11/05/2019 🔍
11/05/2019 🔍
Sources
Advisory: sourceforge.netStatus: Confirmed
CVE: CVE-2019-18178 (🔍)
GCVE (CVE): GCVE-0-2019-18178
GCVE (VulDB): GCVE-100-144847
Entry
Created: 11/05/2019 10:42Updated: 11/05/2019 10:47
Changes: 11/05/2019 10:42 (43), 11/05/2019 10:47 (17)
Complete: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.