# CVE-2024-29209: Code injection in PasswordIQ (PIQ) Client

> Attackers can execute arbitrary code via DNS spoofing due to missing SSL/TLS and signature verification in the update mechanism.

- **Severity:** Medium 6.0 (`CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** No
- **Published:** 7 May 2024
- **Updated:** 8 Aug 2024
- **Also known as:** GHSA-gx5g-rjjv-754q

## What is CVE-2024-29209?

CVE-2024-29209 is a medium-severity code injection vulnerability in KnowBe4 PasswordIQ (PIQ) Client, published on 7 May 2024. Any signed-in user can exploit it over the network, with no action from the victim.

### Official description

A medium severity vulnerability has been identified in the update mechanism of the Phish Alert Button for Outlook, which could allow an attacker to remotely execute arbitrary code on the host machine. The vulnerability arises from the application's failure to securely verify the authenticity and integrity of the update server.

The application periodically checks for updates by querying a specific URL. However, this process does not enforce strict SSL/TLS verification, nor does it validate the digital signature of the received update files. An attacker with the capability to perform DNS spoofing can exploit this weakness. By manipulating DNS responses, the attacker can redirect the application's update requests to a malicious server under their control.

Once the application queries the spoofed update URL, the malicious server can respond with a crafted update package. Since the application fails to properly verify the authenticity of the update file, it will accept and execute the package, leading to arbitrary code execution on the host machine.

Impact:
Successful exploitation of this vulnerability allows an attacker to execute code with elevated privileges, potentially leading to data theft, installation of further malware, or other malicious activities on the host system.

Affected Products:
Phish Alert Button (PAB) for Outlook versions 1.10.0-1.10.11
Second Chance Client versions 2.0.0-2.0.9
PIQ Client versions 1.0.0-1.0.15

Remediation:
Automated updates will be pushed to address this issue. Users of affected versions should verify the latest version is applied and, if not, apply the latest updates provided by KnowBe4, which addresses this vulnerability by implementing proper SSL/TLS checks of the update server. It is also recommended to ensure DNS settings are secure to prevent DNS spoofing attacks.

Workarounds:
Use secure corporate networks or VPN services to secure network communications, which can help mitigate the risk of DNS spoofing.

Credits:
This vulnerability was discovered by Ceri Coburn at Pen Test Partners, who reported it responsibly to the vendor.

Weakness: CWE-94 (Improper Control of Generation of Code)

## Which versions are affected by CVE-2024-29209?


## How do I fix CVE-2024-29209?

No fix has been published for CVE-2024-29209 yet. Limit exposure of the affected software until one is available.

## Is CVE-2024-29209 being exploited?

There is no known exploitation of CVE-2024-29209 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2024-29209 and fix it if it is affected.

What it is: CVE-2024-29209 is a medium-severity code injection vulnerability in KnowBe4 PasswordIQ (PIQ) Client, published on 7 May 2024. Any signed-in user can exploit it over the network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2024-29209 in the wild and no public exploit code.

Affected product: KnowBe4 PasswordIQ (PIQ) Client. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2024-29209/ (Markdown: https://insights.sbomify.com/CVE-2024-29209/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2024-29209
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-29209
- OSV: https://osv.dev/vulnerability/CVE-2024-29209

---
From sbomify Insights: https://insights.sbomify.com/CVE-2024-29209/
Summaries are generated and may contain mistakes; the official description above is the record.
