CVE-2019-18988
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedTeamViewer Desktop through 14.7.1965 allows a bypass of remote-login access control because the same key is used for different customers' installations. It used a shared AES key for all installations since at least as far back as v7.0.43148, and used it for at least OptionsPasswordAES in the current version of the product. If an attacker were to know this key, they could decrypt protect information stored in the registry or configuration files of TeamViewer. With versions before v9.x , this allowed for attackers to decrypt the Unattended Access password to the system (which allows for remote login to the system as well as headless file browsing). The latest version still uses the same key for OptionPasswordAES but appears to have changed how the Unattended Access password is stored. While in most cases an attacker requires an existing session on a system, if the registry/configuration keys were stored off of the machine (such as in a file share or online), an attacker could then decrypt the required password to login to the system.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · moderate confidenceTeamViewer Desktop through 14.7.1965 uses a hardcoded/shared AES encryption key across ALL customer installations (since at least v7.0.43148). This key protects OptionsPasswordAES in the registry and configuration files. An attacker who obtains this key can decrypt sensitive data including Unattended Access passwords, enabling remote login to affected systems. While newer versions changed Unattended Access password storage, the same shared AES key remains in use for OptionsPasswordAES.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data<= 14.7.1965CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Local
- Complexity
- High
- Privileges
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Check installed TeamViewer versionOpen TeamViewer, go to Help > About TeamViewer, or check the Windows registry at HKLM\SOFTWARE\TeamViewer\Version (or HKLM\SOFTWARE\WOW6432Node\TeamViewer\Version). Compare the installed version to 14.7.1965.Affected if The installed version is 14.7.1965 or earlier.
-
Locate TeamViewer registry keys with encrypted passwordsSearch the Windows registry for the key 'OptionsPasswordAES' under HKLM\SOFTWARE\TeamViewer or HKCU\SOFTWARE\TeamViewer. Also check for other password-related entries such as 'UnattendedPassword' or 'SecurityPasswordAES'.Affected if The registry contains OptionsPasswordAES or similar AES-encrypted password entries.
-
Inspect TeamViewer configuration filesCheck for TeamViewer configuration files in the installation directory (typically C:\Program Files\TeamViewer or %APPDATA%\TeamViewer) and any shared/network locations where configurations may be stored or backed up.Affected if Configuration files containing encrypted password strings (especially OptionsPasswordAES) are found in accessible locations.
-
Verify Unattended Access configurationIn TeamViewer, go to Extras > Options > Security and check if 'Allow unattended access' is enabled, or check the registry key 'UnattendedAccess' under the TeamViewer registry hive.Affected if Unattended Access is enabled and the stored password uses the hardcoded AES key.
Your environment is affected if TeamViewer version 14.7.1965 or lower is installed AND OptionsPasswordAES or Unattended Access password entries exist in registry or config files that could be accessed by an attacker.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedUpdate TeamViewer to the latest version on all affected systems. Additionally, ensure TeamViewer configuration/registry data is not stored in accessible locations (file shares, cloud storage) and consider rotating Unattended Access passwords as a precautionary measure.
TeamViewer 14.8 or later (latest available version recommended)
- 1. Verify current TeamViewer version by opening TeamViewer and checking the version number in the top-right corner of the main window
- 2. Download the latest version of TeamViewer from the official website at www.teamviewer.com
- 3. Close any active TeamViewer sessions and ensure no active connections
- 4. Run the TeamViewer installation file and select the 'Upgrade' or 'Repair' option when prompted
- 5. Follow the installation wizard prompts to complete the update
- 6. After installation, verify the new version number matches the latest available release
- 7. For enterprise deployments, use the MSI installer from the TeamViewer Management Console for centralized deployment
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation4.0 h
- Implementation8.0 h
- Testing4.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $5,120.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2019-18988 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2019-18988 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data