Skip to main content
Public proof of conceptFix available

CVE-2021-42574

A public proof of concept exists; no exploitation attested.

  • Published2021-11-01
  • WeaknessCWE-94

Am I 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
  1. 2021-11-0104:15CVE publishedNVD

Observed activity

isMalicious corpus · updated 2026-11-03 21:37 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block 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
Fedoraproject fedora
BranchAffectedFixed in
33.x= 33no fix published
34.x= 34no fix published
35.x= 35no fix published
Starwindsoftware starwind virtual san
BranchAffectedFixed in
8.x= v8r13no fix published
Unicode
BranchAffectedFixed in
14.0< 14.0.014.0.0

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

  • CVE-2021-42574 Red Hat Product Security1,910 products fixed · 79 known affected

    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

  • RHSA-2021:4743 Red Hat Product Security222 products fixed

    Red Hat Security Advisory: llvm-toolset:rhel8 security update

  • RHSA-2021:4730 Red Hat Product Security36 products fixed

    Red Hat Security Advisory: devtoolset-11-binutils security update

  • RHSA-2021:4729 Red Hat Product Security33 products fixed

    Red Hat Security Advisory: devtoolset-11-annobin security update

  • RHSA-2021:4724 Red Hat Product Security30 products fixed

    Red Hat Security Advisory: devtoolset-10-annobin security update

  • RHSA-2021:4723 Red Hat Product Security36 products fixed

    Red Hat Security Advisory: devtoolset-10-binutils security update

27 more advisories

Full record on NVD

Fix

  1. 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
  2. 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

Detection

read 2026-11-03 22:42 UTC
Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
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

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?

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.

Is CVE-2021-42574 actively exploited?

A proof-of-concept exploit exists for CVE-2021-42574, but active exploitation has not been confirmed at this time.

What is the CVSS score for CVE-2021-42574?

CVE-2021-42574 has a CVSS v3 base score of 8.3 (HIGH severity), with vector string CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H.

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

Sources for this record