CVE-2021-42574
A public proof of concept exists; no exploitation attested.
- Published2021-11-01
- WeaknessCWE-94
Am I affected?
Debian, Ubuntu or Red Hat sometimes backport a fix without changing the upstream version number: such a version reads « to verify », never « affected ».With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.
Description
An issue was discovered in the Bidirectional Algorithm in the Unicode Specification through 14.0. It permits the visual reordering of characters via control sequences, which can be used to craft source code that renders different logic than the logical ordering of tokens ingested by compilers and interpreters. Adversaries can leverage this to encode source code for compilers accepting Unicode such that targeted vulnerabilities are introduced invisibly to human reviewers. NOTE: the Unicode Consortium offers the following alternative approach to presenting this concern. An issue is noted in the nature of international text that can affect applications that implement support for The Unicode Standard and the Unicode Bidirectional Algorithm (all versions). Due to text display behavior when text includes left-to-right and right-to-left characters, the visual order of tokens may be different from their logical order. Additionally, control characters needed to fully support the requirements of bidirectional text can further obfuscate the logical order of tokens. Unless mitigated, an adversary could craft source code such that the ordering of tokens perceived by human reviewers does not match what will be processed by a compiler/interpreter/etc. The Unicode Consortium has documented this class of vulnerability in its document, Unicode Technical Report #36, Unicode Security Considerations. The Unicode Consortium also provides guidance on mitigations for this class of issues in Unicode Technical Standard #39, Unicode Security Mechanisms, and in Unicode Standard Annex #31, Unicode Identifier and Pattern Syntax. Also, the BIDI specification allows applications to tailor the implementation in ways that can mitigate misleading visual reordering in program text; see HL4 in Unicode Standard Annex #9, Unicode Bidirectional Algorithm.
Timeline
dates in UTC- 2021-11-0104:15CVE publishedNVD
Observed activity
isMalicious corpus · updated 2026-11-03 21:37 UTCBlock these indicators
- Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2021-42574?format=txt
- CSV export: https://api.ismalicious.com/edl/cve/CVE-2021-42574?format=csv
- TAXII collection of exploited CVEs
- The EDL and CSV take an API key on the Pro plan.
Versions per branch
NVD| Branch | Affected | Fixed in | Source |
|---|---|---|---|
| 33.x | = 33 | no fix published | NVD |
| 34.x | = 34 | no fix published | NVD |
| 35.x | = 35 | no fix published | NVD |
| Branch | Affected | Fixed in | Source |
|---|---|---|---|
| 8.x | = v8r13 | no fix published | NVD |
| Branch | Affected | Fixed in | Source |
|---|---|---|---|
| 14.0 | < 14.0.0 | 14.0.0 | NVD |
as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.
Distribution builds and vendor advisories
Packages from OSV.dev and products from the vendors' CSAF advisories.
version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.
Packages
- annobinRocky Linux:8all versions · fixed in 0:9.72-1.el8_5.2
- annobinRed Hat:rhel_eus:8.4::appstreamall versions · fixed in 0:9.50-1.el8_4.1and 4 other packages
- annobinRed Hat:rhel_eus:8.2::appstreamall versions · fixed in 0:8.90-1.el8_2.1and 2 other packages
- annobinRed Hat:rhel_eus:8.1::appstreamall versions · fixed in 0:8.78-1.el8_1.1and 2 other packages
- annobinRed Hat:enterprise_linux:8::appstreamall versions · fixed in 0:9.72-1.el8_5.2and 4 other packages
- annobinAlmaLinux:8all versions · fixed in 9.72-1.el8_5.2and 1 other package
- binutilsTuxCare:CentOS:8.4all versions · fixed in 2.30-93.el8.4.tuxcare.els1and 1 other package
- binutilsRocky Linux:8all versions · fixed in 0:2.30-108.el8_5.1
94 more package ranges on OSV.dev
Vendor advisories
environment: Unicode's bidirectional (BiDi) override characters can cause trojan source attacks
cpp as a component of Red Hat Enterprise Linux 7 · gcc as a component of Red Hat Enterprise Linux 7 · gcc-c++ as a component of Red Hat Enterprise Linux 7 · +76 more
Red Hat Security Advisory: llvm-toolset:rhel8 security update
Red Hat Security Advisory: devtoolset-11-binutils security update
Red Hat Security Advisory: devtoolset-11-annobin security update
Red Hat Security Advisory: devtoolset-10-annobin security update
Red Hat Security Advisory: devtoolset-10-binutils security update
27 more advisories
Fix
- Vendor fix Red Hat Product Security RHSA-2021:4743 · 222 productsFor details on how to apply this update, which includes the changes described in this advisory, refer to: https://access.redhat.com/articles/11258
- Workaround from the vendor Red Hat Product Security RHSA-2021:4743 · 222 productsThis issue can be mitigated by ensuring code commits get a proper review. All new commits can also be scanned for the presence of BiDi characters before accepting the commit.
Advisories and patches
- www.openwall.comMitigation
- www.unicode.orgRelease Notes · Vendor Advisory
- www.scyon.nlMitigation
- www.unicode.orgVendor Advisory
- www.unicode.orgVendor Advisory
- www.unicode.orgVendor Advisory
Detection
read 2026-11-03 22:42 UTC- Nuclei template
- none so far ProjectDiscovery
- Exploit-DB
- no entry Exploit-DB
- Proof-of-concept repositories
- 11 repositories, unverifiedsotiak/CVE-2021-42574hffaust/CVE-2021-42574_and_CVE-2021-42694simplylu/CVE-2021-42574maweil/bidi_char_detectorpierDipi/unicode-control-characters-action PoC-in-GitHub
- Metasploit modules
- none listed Metasploit Framework
Sources
- CISA-ADPSSVC decisionpoc2024-06-11
- OpenCVESSVC decisionpoc—
- NVDCVSS 3.18.3read 2026-10-23
- NVDCVSS 2.05.1read 2026-10-23
- NVDweakness (CWE)CWE-94read 2026-10-23
- FIRST EPSSEPSS score12.9 %read 2026-11-03
- PoC-in-GitHubproof of concept11read 2026-11-03
- OSVaffected packages—
Identifiers
- EUVD-2021-29541same flawENISA EUVD · LicenseRef-ENISA-legal-notice
- ALSA-2021:4585advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4586advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4587advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4590advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4591advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4592advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4593advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4594advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4595advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4649advisory covering several CVEsAlmaLinux · MIT
- ALSA-2021:4743advisory covering several CVEsAlmaLinux · MIT
- MGASA-2021-0517advisory covering several CVEsMageia · LicenseRef-unstated
- OESA-2022-1501advisory covering several CVEsopenEuler · LicenseRef-unstated
- openSUSE-SU-2024:11650-1advisory covering several CVEsopenSUSE · LicenseRef-unstated
- RHSA-2021:4033advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4034advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4035advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4036advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4037advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4038advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4039advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4585advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4586advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4587advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4588advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4589advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4590advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4591advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4592advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4593advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4594advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4595advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4596advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4598advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4599advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4600advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4601advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4602advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4649advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4669advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4694advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4723advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4724advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4729advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4730advisory covering several CVEsRed Hat · CC-BY-4.0
- RHSA-2021:4743advisory covering several CVEsRed Hat · CC-BY-4.0
- RLSA-2021:4585advisory covering several CVEsRocky Linux · BSD-3-Clause
- RLSA-2021:4586advisory covering several CVEsRocky Linux · BSD-3-Clause
- RLSA-2021:4587advisory covering several CVEsRocky Linux · BSD-3-Clause
Technical details
- CVSS v3 Vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
- Published
- 2021-11-01
- Last Modified
- 2026-06-17
- NVD status
- Modified
Frequently asked questions
What is CVE-2021-42574?
Is CVE-2021-42574 actively exploited?
What is the CVSS score for CVE-2021-42574?
Running environment? Hear about its next vulnerability
Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».
No credit card required · No monthly cap on website lookups · 250 API requests/month
Go further
- Following what attackers exploit right now? The CISA KEV additions of the month, with their patch deadlines.
- Running this software? Vulnerability monitoring alerts you to new vulnerabilities in your products.
Related vulnerabilities
Same product first, then the same vendor advisory and the same publication week.
Sources for this record
- CVE Program · CVE Program Terms of Use
- ENISA EU Vulnerability Database · ENISA legal notice §1.2 (reproduction authorised, provided the source is acknowledged)
- FIRST EPSS · EPSS terms of use (free use, attribution requested)
- NVD · Public domain (17 U.S.C. § 105) for NVD-authored data; third-party content under its own terms
- OpenCVE · OpenCVE terms of service · terms restrict redistribution
- OSV.dev · Per record, as its publisher states it: each row carries the label in sourceLicense when one is served
- PoC-in-GitHub · CC0-1.0
- Red Hat Product Security (CSAF and VEX) · CC-BY-4.0
- CISA Vulnrichment · CC0-1.0