Vba32 Antivirus v3.36.0 - DoS

Summary

NameVba32 Antivirus v3.36.0 - Denial of Service (DoS)
Code namerollins
ProductVba32 Antivirus
VendorVirusBlokAda
Affected versionsVersion 3.36.0
StatePublic
Release date2024-01-29

Vulnerability

KindDenial of Service (DoS)
Rule002. Asymmetric Denial of Service
RemoteNo
CVSSv3 VectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSSv3 Base Score5.5
Exploit availableYes
CVE ID(s)CVE-2024-23441

Description

Vba32 Antivirus v3.36.0 is vulnerable to a Denial of Service vulnerability by triggering the 0x2220A7 IOCTL code of the Vba32m64.sys driver.

Vulnerability

The 0x2220A7 IOCTL code of the Vba32m64.sys driver is vulnerable to DoS, leading to a BSOD of the affected computer caused by a NULL pointer dereference. If an attacker sends an nOutBufferSize parameter greater or equal than 0x2E, the execution flow will reach the function sub_11B34 which doesn't verify the return address of another routine:

v2 = sub_128A8((__int64)&qword_1D710);
v3 = v2; // [1]
if ( v2 )
{
    v4 = sub_12750(v2);
}
else
{
    v5 = sub_128A8((__int64)&qword_1D600);
    v3 = v5;
    if ( !v5 )
        return 0;
    v4 = sub_1278C(v5, 2i64);
    *(_QWORD *)(v3 + 0x50) = MEMORY[0xFFFFF78000000014] + 0x2FAF080i64;
    sub_12830(&qword_1D650, v3);
}
v6 = (_WORD *)(a1 + 0x2C);
*(_QWORD *)(a1 + 0x10) = *(_QWORD *)(v3 + 0x40); // [2]

At [1], the return value is assigned to a variable which is then dereferenced at [2] without checking for its value, leading to a NULL pointer dereference:

rax=0000000000000000 rbx=0000000000000000 rcx=0000000000000001
rdx=0000000000000001 rsi=00000000031ac0f4 rdi=00000000031ac120
rip=fffff80447e41b6e rsp=ffffc9816c7fc730 rbp=0000000000000000
 r8=00000000ffffffff  r9=7ffff80447e4d6b0 r10=7ffffffffffffffc
r11=0000000000000000 r12=0000000000000020 r13=0000000000000030
r14=ffffe20fa72678b0 r15=ffffe20fa0e9b060
iopl=0         nv up ei pl zr na po nc
cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00050246
Vba32m64+0x1b6e:
fffff804`47e41b6e 488b4340        mov     rax,qword ptr [rbx+40h] ds:002b:00000000`00000040=????????????????

Our security policy

We have reserved the ID CVE-2024-23441 to refer to this issue from now on.

System Information

  • Version: Vba32 Antivirus v3.36.0
  • Operating System: Windows

Mitigation

There is currently no patch available for this vulnerability.

Credits

The vulnerability was discovered by Andres Roldan from Fluid Attacks' Offensive Team.

References

Vendor page https://www.anti-virus.by/

Product page https://www.anti-virus.by/vba32

Timeline

Time-lapse-logo

2024-01-16

Vulnerability discovered.

Time-lapse-logo

2024-01-16

Vendor contacted.

Time-lapse-logo

2024-01-18

Vendor replied acknowledging the report.

Time-lapse-logo

2024-01-29

Public Disclosure.

Fluid Logo Footer

Hacking software for over 20 years

Fluid Attacks tests applications and other systems, covering all software development stages. Our team assists clients in quickly identifying and managing vulnerabilities to reduce the risk of incidents and deploy secure technology.

Copyright © 0 Fluid Attacks. We hack your software. All rights reserved.