07ce178a2b
The custom action uses cmd.exe to run VSS Service installation and removal which causes an interactive command shell to spawn. This shell can be used to execute any commands as a SYSTEM user. Even if call qemu-ga.exe directly the interactive command shell will be spawned as qemu-ga.exe is a console application and used by users from the console as well as a service. As VSS Service runs from DLL which contains the installer and uninstaller code, it can be run directly by rundll32.exe without any interactive command shell. Add specific entry points for rundll which is just a wrapper for COMRegister/COMUnregister functions with proper arguments. resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2167423 fixes: CVE-2023-0664 (part 2 of 2) Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com> Reviewed-by: Yan Vugenfirer <yvugenfi@redhat.com> Reported-by: Brian Wiltse <brian.wiltse@live.com>
16 lines
332 B
Modula-2
16 lines
332 B
Modula-2
LIBRARY "QGA-PROVIDER.DLL"
|
|
|
|
EXPORTS
|
|
DLLCOMRegister
|
|
DLLCOMUnregister
|
|
COMRegister PRIVATE
|
|
COMUnregister PRIVATE
|
|
DllCanUnloadNow PRIVATE
|
|
DllGetClassObject PRIVATE
|
|
DllRegisterServer PRIVATE
|
|
DllUnregisterServer PRIVATE
|
|
requester_init PRIVATE
|
|
requester_deinit PRIVATE
|
|
requester_freeze PRIVATE
|
|
requester_thaw PRIVATE
|