{"id":61095,"date":"2021-10-31T17:57:10","date_gmt":"2021-11-01T00:57:10","guid":{"rendered":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text"},"modified":"2025-03-22T06:25:57","modified_gmt":"2025-03-22T13:25:57","slug":"warning-about-bidirectional-unicode-text","status":"publish","type":[3522],"link":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text","title":{"rendered":"Warning about bidirectional Unicode text"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><p>A warning is now displayed when a file's contents include bidirectional Unicode text. Such text can be interpreted or compiled differently than it appears in a user interface. For example, hidden, bidirectional Unicode characters can be used to swap segments of text in a file. This can cause code to appear one way and be interpreted or compiled another way.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/user-images.githubusercontent.com\/1767415\/139425260-6d62b200-d486-486e-94bf-e27a26523844.png?ssl=1\" alt=\"image\"><\/p>\n<p>This security issue is the topic of the Common Vulnerabilities and Exposures (CVE) publication: <a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-42574\">CVE-2021-42574<\/a>. <strong>If your use of bidirectional Unicode characters is intentional and not malformed, you can ignore the warning.<\/strong><\/p>\n<p>To review a file for which this warning is displayed, open it in an editor that will display the hidden, bidirectional Unicode characters, like <a href=\"https:\/\/code.visualstudio.com\/\">Visual Studio Code<\/a> which highlights the characters by default. Then, verify that the characters are necessary and not disguising text that will be interpreted or compiled differently than it appears.<\/p>\n<p>For more information, refer to <a href=\"https:\/\/trojansource.codes\/\">Trojan Source: Invisible Source Code Vulnerabilities<\/a>.<\/p>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>A warning is now displayed when a file&#8217;s contents include bidirectional Unicode text. Such text can be interpreted or compiled differently than it appears in a user interface. For example,&hellip;<\/p>\n","protected":false},"author":1767,"featured_media":0,"template":"","meta":{"_gh_post_show_toc":"","_gh_post_is_no_robots":"","_gh_post_is_featured":"","_gh_post_is_excluded":"","_gh_post_is_unlisted":"","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"","_gh_post_sq_img_id":"","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"","_gh_post_recirc_hide":"","_gh_post_recirc_col_1":"","_gh_post_recirc_col_2":"","_gh_post_recirc_col_3":"","_gh_post_recirc_col_4":"","_featured_video":"","_gh_post_additional_query_params":"","footnotes":"","_links_to":"","_links_to_target":"","primary_cta":"","primary_cta_url":"","secondary_cta":"","secondary_cta_url":""},"label":[1751,3628],"group":[3581],"coauthors":[1991],"class_list":["post-61095","changelog","type-changelog","status-publish","hentry","changelog-type-improvements","changelog-label-ecosystem-and-accessibility","changelog-label-platform-governance","changelog-group-10-2021"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Warning about bidirectional Unicode text - GitHub Changelog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Warning about bidirectional Unicode text \u00b7 GitHub Changelog\" \/>\n<meta property=\"og:description\" content=\"A warning is now displayed when a file&#039;s contents include bidirectional Unicode text. Such text can be interpreted or compiled differently than it appears in a user interface. For example,&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-22T13:25:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/user-images.githubusercontent.com\/1767415\/139425260-6d62b200-d486-486e-94bf-e27a26523844.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n\t<meta name=\"twitter:label2\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data2\" content=\"phanatic\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2021-10-31-warning-about-bidirectional-unicode-text\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2021-10-31-warning-about-bidirectional-unicode-text\\\/\",\"name\":\"Warning about bidirectional Unicode text - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2021-10-31-warning-about-bidirectional-unicode-text\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2021-10-31-warning-about-bidirectional-unicode-text\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/user-images.githubusercontent.com\\\/1767415\\\/139425260-6d62b200-d486-486e-94bf-e27a26523844.png\",\"datePublished\":\"2021-11-01T00:57:10+00:00\",\"dateModified\":\"2025-03-22T13:25:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2021-10-31-warning-about-bidirectional-unicode-text\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/changelog\\\/2021-10-31-warning-about-bidirectional-unicode-text\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2021-10-31-warning-about-bidirectional-unicode-text\\\/#primaryimage\",\"url\":\"https:\\\/\\\/user-images.githubusercontent.com\\\/1767415\\\/139425260-6d62b200-d486-486e-94bf-e27a26523844.png\",\"contentUrl\":\"https:\\\/\\\/user-images.githubusercontent.com\\\/1767415\\\/139425260-6d62b200-d486-486e-94bf-e27a26523844.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2021-10-31-warning-about-bidirectional-unicode-text\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Changelogs\",\"item\":\"https:\\\/\\\/github.blog\\\/changelog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Warning about bidirectional Unicode text\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Warning about bidirectional Unicode text - GitHub Changelog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/","og_locale":"en_US","og_type":"article","og_title":"Warning about bidirectional Unicode text \u00b7 GitHub Changelog","og_description":"A warning is now displayed when a file's contents include bidirectional Unicode text. Such text can be interpreted or compiled differently than it appears in a user interface. For example,&hellip;","og_url":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/","og_site_name":"The GitHub Blog","article_modified_time":"2025-03-22T13:25:57+00:00","og_image":[{"url":"https:\/\/user-images.githubusercontent.com\/1767415\/139425260-6d62b200-d486-486e-94bf-e27a26523844.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute","Written by":"phanatic"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/","url":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/","name":"Warning about bidirectional Unicode text - The GitHub Blog","isPartOf":{"@id":"https:\/\/github.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/#primaryimage"},"image":{"@id":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/#primaryimage"},"thumbnailUrl":"https:\/\/user-images.githubusercontent.com\/1767415\/139425260-6d62b200-d486-486e-94bf-e27a26523844.png","datePublished":"2021-11-01T00:57:10+00:00","dateModified":"2025-03-22T13:25:57+00:00","breadcrumb":{"@id":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/#primaryimage","url":"https:\/\/user-images.githubusercontent.com\/1767415\/139425260-6d62b200-d486-486e-94bf-e27a26523844.png","contentUrl":"https:\/\/user-images.githubusercontent.com\/1767415\/139425260-6d62b200-d486-486e-94bf-e27a26523844.png"},{"@type":"BreadcrumbList","@id":"https:\/\/github.blog\/changelog\/2021-10-31-warning-about-bidirectional-unicode-text\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/github.blog\/"},{"@type":"ListItem","position":2,"name":"Changelogs","item":"https:\/\/github.blog\/changelog\/"},{"@type":"ListItem","position":3,"name":"Warning about bidirectional Unicode text"}]},{"@type":"WebSite","@id":"https:\/\/github.blog\/#website","url":"https:\/\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/changelogs\/61095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/changelogs"}],"about":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/types\/changelog"}],"author":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/users\/1767"}],"version-history":[{"count":3,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/changelogs\/61095\/revisions"}],"predecessor-version":[{"id":85037,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/changelogs\/61095\/revisions\/85037"}],"wp:attachment":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media?parent=61095"}],"wp:term":[{"taxonomy":"changelog-type","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/type?post=61095"},{"taxonomy":"changelog-label","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/label?post=61095"},{"taxonomy":"changelog-group","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/group?post=61095"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/coauthors?post=61095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}