Kaspersky Lab has released an emergency patch for some of its antivirus products after a security researcher found a critical vulnerability that could allow hackers to compromise computers.

The flaw was discovered by vulnerability researcher and Google security engineer Tavis Ormandy, who mentioned it Saturday on Twitter, before sending the bug's details to Kaspersky.

Ormandy's Twitter message included a screen shot showing the Windows calculator (calc.exe) running under the Kaspersky antivirus process.

It works great against versions 15 and 16, he said.

Versions 15 and 16 correspond to Kaspersky's 2015 and 2016 product lines. It's not clear if only Kaspersky Anti-Virus was affected or also the vendor's Internet Security and Total Security products.

Opening calc.exe from a different process is a common method used by security researchers to demonstrate successful code execution exploits. The implication is that if a flaw in an application allows remote attackers to execute calc.exe, it also likely allows the execution of malicious code.

According to Ormandy, the Kaspersky Anti-Virus vulnerability can be exploited remotely, without any user interaction and with SYSTEM privileges.

It's "about as bad as it gets," he said in a separate message.

Responding to a question from a Twitter user who asked if the flaw can be exploited by receiving a data packet, seeing an image on Twitter or visiting an attacker-created website, Ormandy said: "all of the above."

A Kaspersky Lab representative said in an emailed statement Monday that the vulnerability was a stack overflow and was patched within 24 hours of the company receiving the report. The fix has already been distributed to customers via automatic updates.

The company is improving its mitigation strategies to prevent exploitation of possible bugs in its software and already uses anti-exploitation technologies like Address Space Layout Randomization (ASLR) and Data Execution Prevention (DEP), the Kaspersky representative said. "Kaspersky Lab has always supported the assessment of our solutions by independent researchers. Their ongoing efforts help us to make our solutions stronger, more productive and more reliable."

While it might seem ironic that a product designed to protect computers from attacks has vulnerabilities that could be exploited to hack them, it's actually not uncommon. All software programs, including antivirus programs, can have flaws.

In June Ormandy found a critical remote command execution vulnerability in security products from ESET that could be exploited by visiting a website, downloading a message in a local email client, plugging a USB thumb drive into the computer or other actions that triggered disk operations.

In 2012, he found critical vulnerabilities in Sophos Antivirus and last year he found a flaw that could have allowed hackers to remotely disable the protection engine used in Microsoft anti-malware products.

In 2014, another security researcher named Joxean Koret found dozens of remotely and locally exploitable vulnerabilities in 14 different antivirus engines.

There's a general push from developers to limit the privileges of software applications in order to make exploitation of potential vulnerabilities harder. However, that's difficult to do for antivirus products, because they need the highest possible privileges in order to effectively detect, block or clean potential threats.

Compared to many other applications, antivirus products also have a large attack surface, as they need to parse many file types and code written in different languages that are received from a variety of sources, including the Web and email. Historically, input and file parsing operations have been a source of many vulnerabilities.