What is the Windows Scripting Engine?
The Windows Scripting Engine encompasses several components that execute script code on Windows systems — including JScript9.dll (the modern JScript engine used by Internet Explorer and legacy applications), VBScript.dll (Visual Basic Scripting for IE and Windows shell), and related scripting infrastructure. The scripting engine processes attacker-controlled script content when IE opens a web page, when Windows processes a malicious HTML file, or when applications embed and execute script content via the scripting engine API. Out-of-bounds write vulnerabilities in scripting engines occur when the script interpreter writes beyond allocated memory boundaries while executing crafted script code — creating memory corruption that can be exploited for code execution in the context of the scripting engine's process.
Overview
CVE-2021-34448 is an out-of-bounds write vulnerability (CWE-787) in the Windows Scripting Engine that was exploited as a zero-day before Microsoft patched it in July 2021 Patch Tuesday. Processing malicious web content via the scripting engine — through Internet Explorer, applications using the IE WebBrowser control, or embedded scripting via Windows components — triggers the memory corruption, enabling code execution. The CVSS profile (AV:N/AC:H/PR:N/UI:R, C:H/I:H/A:N) reflects a complex exploit (AC:H) requiring user interaction but no authentication, achieving high confidentiality and integrity impact without availability impact. CISA added it to the KEV catalog in November 2021.
Affected Versions
| Product | Vulnerable | Fixed |
|---|---|---|
| Windows 7 (Scripting Engine) | Yes | July 2021 Patch Tuesday |
| Windows 8.1 (Scripting Engine) | Yes | July 2021 Patch Tuesday |
| Windows 10 (multiple versions, Scripting Engine) | Yes | July 2021 Patch Tuesday |
| Windows Server 2008 R2 through 2022 (Scripting Engine) | Yes | July 2021 Patch Tuesday |
Technical Details
- Root cause: Out-of-bounds write (CWE-787) in the Windows Scripting Engine — specially crafted script code (JScript or VBScript) executed by the engine triggers a write beyond the bounds of an allocated memory buffer; the corruption of adjacent memory provides a primitive for code execution
- AC:H complexity: The exploit requires meeting specific conditions — likely related to the timing of garbage collection, specific object configurations in the script engine's heap, or particular JavaScript/JScript patterns that trigger the OOB write under constrained conditions; sophisticated actors can develop reliable exploits for AC:H vulnerabilities but it requires more expertise than AC:L
- C:H/I:H, A:N: Full code and data confidentiality and integrity impact (arbitrary code execution in the scripting engine process) with no availability impact — consistent with targeted code execution that does not crash the scripting engine (maintaining stealth) rather than a disruptive exploit
- Delivery via web content: The scripting engine processes content from web pages (via IE or IE WebBrowser control), HTML applications (HTA), Windows Script Host files (.vbs, .js), and documents embedding scripting content — all are potential delivery vectors
- Zero-day exploitation: Microsoft confirmed CVE-2021-34448 was exploited in the wild before the July 2021 patch; the zero-day status and the high C:H/I:H CVSS impact suggest use in targeted attacks against specific high-value organizations or individuals
Discovery
Identified as an in-the-wild zero-day and patched in July 2021 Patch Tuesday. Microsoft's advisory noted "exploitation detected" without publicly disclosing details about the threat actors or targets. CISA's November 2021 KEV addition confirms continued exploitation of unpatched Windows systems with the scripting engine vulnerability.
Exploitation Context
Windows Scripting Engine zero-days are used in targeted attacks where actors seek reliable code execution via web-based delivery against Windows users. The delivery mechanism (malicious web page or document with embedded script) is broadly applicable — email attachments, watering hole attacks, and drive-by downloads all deliver scripting engine exploits without requiring the target to install software. The C:H/I:H/A:N profile (code execution without availability impact) is consistent with stealthy targeted exploitation where maintaining the victim's system stability is important for persistent access. The November 2021 CISA KEV addition encompasses July 2021 zero-days that remained relevant because many Windows environments had not applied monthly cumulative updates.
Remediation
- Apply July 2021 Patch Tuesday cumulative updates for all Windows versions — patches CVE-2021-34448 in the Scripting Engine
- Keep Windows fully updated via Windows Update or WSUS — Scripting Engine patches are delivered as part of cumulative updates
- Disable VBScript and JScript in IE zone settings for Internet and Restricted Sites zones: Internet Options → Security → Internet zone → Custom level → Scripting → Active scripting: Disable
- Consider disabling the Windows Script Host (wscript.exe, cscript.exe) for users who do not require script execution: set HKCU/HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings\Enabled to 0
- Disable Internet Explorer where not needed — Group Policy → Computer Configuration → Administrative Templates → Windows Components → Internet Explorer → "Disable Internet Explorer 11 as a standalone browser"
- Apply application control policies (AppLocker/WDAC) to restrict execution of .vbs, .js, and .hta files from untrusted locations
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2021-34448 |
| Vendor / Product | Microsoft — Windows |
| NVD Published | 2021-07-16 |
| NVD Last Modified | 2025-10-29 |
| CVSS 3.1 Score | 6.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N |
| Severity | MEDIUM |
| CWE | CWE-787 find similar ↗ |
| CISA KEV Added | 2021-11-03 |
| CISA KEV Deadline | 2021-11-17 |
| Known Ransomware Use | No |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2021-07-13 | Microsoft patches CVE-2021-34448 in July 2021 Patch Tuesday — confirmed as exploited zero-day |
| 2021-07-16 | CVE published |
| 2021-11-03 | Added to CISA Known Exploited Vulnerabilities catalog |
| 2021-11-17 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| Microsoft Security Advisory — CVE-2021-34448 | Vendor Advisory |
| NVD — CVE-2021-34448 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |