{"id":24896,"date":"2025-11-12T12:03:34","date_gmt":"2025-11-12T17:03:34","guid":{"rendered":"https:\/\/me-en.kaspersky.com\/blog\/canon-ttf-vulnerability-printer-risk\/24896\/"},"modified":"2025-11-18T21:03:04","modified_gmt":"2025-11-18T17:03:04","slug":"canon-ttf-vulnerability-printer-risk","status":"publish","type":"post","link":"https:\/\/me-en.kaspersky.com\/blog\/canon-ttf-vulnerability-printer-risk\/24896\/","title":{"rendered":"Printers attacked by&#8230; fonts"},"content":{"rendered":"<p>These days, attackers probing an organization\u2019s infrastructure rarely come across the luxury of a workstation without an <a href=\"https:\/\/me-en.kaspersky.com\/enterprise-security\/endpoint-detection-response-edr?icid=me-en_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">EDR agent<\/a>, so malicious actors are focusing on compromising servers, or various specialized devices connected to the network with fairly broad access privileges yet lacking EDR protection and often even logging capabilities. We\u2019ve previously written in detail about the <a href=\"https:\/\/www.kaspersky.com\/blog\/riskiest-it-and-iot-devices-in-organization\/51958\/\" target=\"_blank\" rel=\"noopener nofollow\">types of vulnerable office devices<\/a>. Real-world attacks in 2025 are focused on network devices (such as VPN gateways, firewalls, and routers), video surveillance systems, and the servers themselves. But printers shouldn\u2019t be overlooked either, as independent researcher Peter Geissler reminded the audience at the <a href=\"https:\/\/thesascon.com\" target=\"_blank\" rel=\"noopener nofollow\">Security Analyst Summit 2025<\/a>. He described a vulnerability he\u2019d found in Canon printers (<a href=\"https:\/\/www.usa.canon.com\/support\/canon-product-advisories\/service-notice-regarding-vulnerability-measure-against-buffer-overflow-for-laser-printers-and-small-office-multifunctional-printers\" target=\"_blank\" rel=\"noopener nofollow\">CVE-2024-12649<\/a>, CVSS 9.8), which allows executing malicious code on these devices. And the most interesting aspect regarding this vulnerability is that exploiting it merely requires sending an innocent-looking file to print.<\/p>\n<h2>Trojan Type Font: an attack via CVE-2024-12649<\/h2>\n<p>The attack begins with sending an XPS file to print. This format, created by Microsoft, contains all the prerequisites for successful document printing, and serves as an alternative to PDF. XPS is essentially a ZIP archive containing a detailed description of the document, all its images, and the fonts used. The fonts are usually stored in the popular TTF (TrueType Font) format invented by Apple. And it\u2019s precisely the font itself \u2014 something not typically perceived as dangerous \u2014 that contains the malicious code.<\/p>\n<p>The TTF format was designed to both make letters look identical on any medium, and scale correctly to any size \u2014 from the smallest character on a screen to the largest on a printed poster. To achieve this goal, each letter can have <a href=\"https:\/\/en.wikipedia.org\/wiki\/Font_hinting\" target=\"_blank\" rel=\"noopener nofollow\">font hinting<\/a> instructions written for it, which describe the nuances of displaying letters of small sizes. Hinting instructions are essentially commands for a compact virtual machine which, despite its simplicity, supports all the basic building blocks of programming: memory management, jumps, and branching. Geissler and his colleagues studied how this virtual machine is implemented in Canon printers. They discovered that <a href=\"https:\/\/haxx.in\/posts\/2025-09-23-canon-ttf\/\" target=\"_blank\" rel=\"noopener nofollow\">some TTF hinting instructions are executed insecurely<\/a>. For example, the virtual machine commands that manage the stack don\u2019t check for overflow.<\/p>\n<p>As a result, they succeeded in creating a malicious font. When a document containing it is printed on certain Canon printers, it causes a stack buffer overflow, writes data beyond the virtual machine\u2019s buffers, and ultimately achieves code execution on the printer\u2019s processor. The entire attack is conducted via the TTF file; the rest of the XPS file content is benign. In fact, detecting the malicious code even within the TTF file is quite difficult: it\u2019s not very long, the first part consists of TTF virtual machine instructions, and the second part runs on the exotic, proprietary Canon operating system (DryOS).<\/p>\n<p>It should be noted that in recent years Canon has focused on securing printer firmware. For example, it uses <a href=\"https:\/\/developer.arm.com\/documentation\/ddi0601\/latest\/AArch32-Registers\/DACR--Domain-Access-Control-Register\" target=\"_blank\" rel=\"noopener nofollow\">DACR<\/a> registers and NX (no-execute) flags supported in ARM processors to limit the ability to modify system code or execute code in memory fragments intended solely for data storage. Despite these efforts, the overall DryOS architecture doesn\u2019t allow for effective implementation of memory protection mechanisms, such as <a href=\"https:\/\/en.wikipedia.org\/wiki\/Address_space_layout_randomization\" target=\"_blank\" rel=\"noopener nofollow\">ASLR<\/a> or <a href=\"https:\/\/en.wikipedia.org\/wiki\/Stack_buffer_overflow#Stack_canaries\" target=\"_blank\" rel=\"noopener nofollow\">stack canary<\/a>, which are typical of larger modern operating systems. This is why researchers occasionally find ways to bypass the existing protection. For instance, in the attack we\u2019re talking about, the malicious code was successfully executed by placing it, via the TTF trick, into a memory buffer intended for a different printing protocol \u2014 IPP.<\/p>\n<h2>Realistic exploitation scenario<\/h2>\n<p>In their <a href=\"https:\/\/www.usa.canon.com\/support\/canon-product-advisories\/service-notice-regarding-vulnerability-measure-against-buffer-overflow-for-laser-printers-and-small-office-multifunctional-printers\" target=\"_blank\" rel=\"noopener nofollow\">bulletin<\/a> describing the vulnerability, Canon asserts that the vulnerability can be exploited remotely if the printer is accessible via the internet. Consequently, they suggest configuring a firewall so the printer can only be used from the internal office network. While this is good advice and the printer should indeed be removed from public access, this isn\u2019t the only attack scenario.<\/p>\n<p>In his report, Peter Geissler pointed to a much more realistic, hybrid scenario in which the attacker sends an employee an attachment in an email or a messenger message and, under one pretext or another, suggests they print it. If the victim does send the document to print \u2014 within the internal organization network and without any internet exposure \u2014 the malicious code is executed on the printer. Naturally, the capabilities of the malware when running on the printer will be limited compared to malware that\u2019s infected a full-fledged computer. However, it could, for example, create a tunnel by establishing a connection to the attacker\u2019s server \u2014 allowing the attackers to target other computers in the organization. Another potential use case for this malware on the printer could result in the forwarding of all information being printed at the company directly to the attacker\u2019s server. In certain organizations, such as law firms, this could lead to a critical data breach.<\/p>\n<h2>How to fend off this printer threat<\/h2>\n<p>The vulnerability CVE-2024-12649 and several closely related defects can be eliminated by installing the printer firmware update <a href=\"https:\/\/www.usa.canon.com\/support\/canon-product-advisories\/service-notice-regarding-vulnerability-measure-against-buffer-overflow-for-laser-printers-and-small-office-multifunctional-printers\" target=\"_blank\" rel=\"noopener nofollow\">according to Canon\u2019s instructions<\/a>. Unfortunately, many organizations \u2014 even those that diligently update software on computers and servers \u2014 lack a systematic process for updating printer firmware. The process must be implemented for all equipment connected to the computer network.<\/p>\n<p>However, security researchers emphasize that there\u2019s a multitude of attack vectors targeting specialized equipment. Therefore, there\u2019s no guarantee that attackers won\u2019t arm themselves tomorrow with a similar exploit unknown to printer manufacturers or their customers. To minimize the risk of exploitation:<\/p>\n<ul>\n<li>Segment the network \u2014 limiting the printer\u2019s ability to establish outbound connections and to accept connections from devices and users not authorized to print.<\/li>\n<li>Disable all unused services on the printer.<\/li>\n<li>Set a unique, complex administrator password on each printer\/device.<\/li>\n<li>Implement a comprehensive security system within the organization \u2014 including <a href=\"https:\/\/me-en.kaspersky.com\/next-edr-optimum?icid=me-en_kdailyplacehold_acq_ona_smm__onl_b2b_kdaily_wpplaceholder_sm-team___knext____0b11d045409a04b7\" target=\"_blank\" rel=\"noopener\">EDR installed on all computers and servers<\/a>, a modern firewall, and comprehensive network monitoring based on an .<\/li>\n<\/ul>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"next-optimum\">\n","protected":false},"excerpt":{"rendered":"<p>We examine how popular Canon printers could become a foothold for attackers within an organization&#8217;s network.<\/p>\n","protected":false},"author":2722,"featured_media":24897,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1318,1916,1917],"tags":[1457,398,1975,192,1022,337,2860,521,121,268],"class_list":{"0":"post-24896","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"category-smb","10":"tag-business","11":"tag-patches","12":"tag-printers","13":"tag-protection","14":"tag-risks","15":"tag-sas","16":"tag-thesas2025","17":"tag-threats","18":"tag-updates","19":"tag-vulnerabilities"},"hreflang":[{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/canon-ttf-vulnerability-printer-risk\/24896\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/canon-ttf-vulnerability-printer-risk\/29825\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/canon-ttf-vulnerability-printer-risk\/29714\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/canon-ttf-vulnerability-printer-risk\/28788\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/canon-ttf-vulnerability-printer-risk\/31664\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/canon-ttf-vulnerability-printer-risk\/30315\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/canon-ttf-vulnerability-printer-risk\/40871\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/canon-ttf-vulnerability-printer-risk\/14041\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/canon-ttf-vulnerability-printer-risk\/54764\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/canon-ttf-vulnerability-printer-risk\/23409\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/canon-ttf-vulnerability-printer-risk\/32939\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/canon-ttf-vulnerability-printer-risk\/35661\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/canon-ttf-vulnerability-printer-risk\/35288\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/me-en.kaspersky.com\/blog\/tag\/vulnerabilities\/","name":"vulnerabilities"},"_links":{"self":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/24896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/users\/2722"}],"replies":[{"embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/comments?post=24896"}],"version-history":[{"count":1,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/24896\/revisions"}],"predecessor-version":[{"id":24923,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/24896\/revisions\/24923"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/media\/24897"}],"wp:attachment":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/media?parent=24896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/categories?post=24896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/tags?post=24896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}