LHa is a console-based program for packing and unpacking LHarc archives.
Ulf Harnhammar found two stack overflows and two directory traversal vulnerabilities in LHa version 1.14 and 1.17. A stack overflow occurs when testing or extracting archives containing long file or directory names. Furthermore, LHa doesn't contain sufficient protection against relative or absolute archive paths.
The stack overflows can be exploited to execute arbitrary code with the rights of the user testing or extracting the archive. The directory traversal vulnerabilities can be used to overwrite files in the filesystem with the rights of the user extracting the archive, potentially leading to denial of service or privilege escalation. Since LHa is often interfaced to other software like an email virus scanner, this attack can be used remotely.
There is no known workaround at this time. All users are advised to upgrade to the latest available version of LHa.
All users of LHa should upgrade to the latest stable version:
# emerge sync
# emerge -pv ">=app-arch/lha-114i-r2"
# emerge ">=app-arch/lha-114i-r2"