CVE-2020-8639: Malicious File Upload
An unrestricted file upload vulnerability in keywordsImport.php in TestLink 1.9.20 allows remote attackers to execute arbitrary code by uploading a file with an executable extension. This allows an authenticated attacker to upload a malicious file (containing PHP code to execute operating system commands) to a publicly accessible directory of the application.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
In keywordsImport.php, restrict file upload so that uploaded files cannot have executable extensions; ensure only non-executable types are accepted and that executable extensions are rejected to prevent arbitrary code execution.
TestLink Upload handling for keywordsImport.php = Disallow executable file extensions (e.g., .php and other script extensions) and block uploads of files with executable extensions - Compensating control
Ensure the directory where uploads are stored is not publicly accessible and cannot be executed as code (e.g., place it outside the web root or enforce server rules to prevent execution of uploaded content).
Event History
Frequently Asked Questions
What is the severity of CVE-2020-8639?
CVE-2020-8639 is rated as high severity due to the potential for remote code execution.
How do I fix CVE-2020-8639?
To fix CVE-2020-8639, upgrade TestLink to version 1.9.21 or later where this vulnerability is addressed.
Who is affected by CVE-2020-8639?
CVE-2020-8639 affects users of TestLink version 1.9.20 that allow file uploads through keywordsImport.php.
What kind of attacks can exploit CVE-2020-8639?
CVE-2020-8639 can be exploited by authenticated attackers to upload malicious files that execute arbitrary code on the server.
Does CVE-2020-8639 require authentication to exploit?
Yes, CVE-2020-8639 requires the attacker to be authenticated to upload files.