{"id":3955,"date":"2026-11-05T07:09:16","date_gmt":"2026-11-05T15:09:16","guid":{"rendered":"https:\/\/cyber.mag212.com\/zyxel-gs1900-cve-2026-107441-june-patch-zero-day\/"},"modified":"2026-11-05T07:09:16","modified_gmt":"2026-11-05T15:09:16","slug":"zyxel-gs1900-cve-2026-107441-june-patch-zero-day","status":"publish","type":"post","link":"https:\/\/cyber.mag212.com\/fr\/zyxel-gs1900-cve-2026-107441-june-patch-zero-day\/","title":{"rendered":"Vuln\u00e9rabilit\u00e9 zero-day CVE-2026-107441 sur le Zyxel GS1900\u00a0: pourquoi le correctif de juin n\u2019a pas fonctionn\u00e9 et quel firmware la corrige\u00a0?"},"content":{"rendered":"<p class=\"wp-block-paragraph\">In August, attackers compromised close to 1,000 Zyxel GS1900 switches. The attacks were blamed on <strong>CVE-2026-7273<\/strong>, a flaw Zyxel had fixed in June. Now Binarly says the attackers&#8217; own exploit still worked on the June-patched firmware. Zyxel has assigned a new CVE, <strong>CVE-2026-107441<\/strong>, and released <strong>2.90 Patch 3<\/strong>. If you patched in June, you need to patch again.<\/p>\n\n<h2 class=\"wp-block-heading\">Faits cl\u00e9s<\/h2>\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Article<\/th><th>D\u00e9tail<\/th><\/tr><\/thead><tbody><tr><td>CVE<\/td><td>CVE-2026-107441, out-of-bounds write (CWE-787) in the switch CGI program<\/td><\/tr><tr><td>Score<\/td><td>CVSS 3.1 8.8 (Zyxel, CNA); vector AV:A, adjacent network, no login<\/td><\/tr><tr><td>Affected<\/td><td>Ten GS1900 models on 2.90(xxxx.2)C0 or earlier<\/td><\/tr><tr><td>Fix<\/td><td>2.90(xxxx.3)C0 (&#8220;Patch 3&#8221;); no workaround<\/td><\/tr><tr><td>Advisory<\/td><td>Zyxel, November 3, 2026; Patch 3 announced October 23<\/td><\/tr><tr><td>Exploitation<\/td><td>In the wild according to Binarly; Zyxel\u2019s advisory does not say; not found in CISA KEV<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h2 class=\"wp-block-heading\">What happened<\/h2>\n\n<p class=\"wp-block-paragraph\">GreyNoise documented the campaign in September: <strong>996 compromised switches in 48 countries<\/strong> from about August 17, 564 of them still using default passwords. CISA added CVE-2026-7273 to its Known Exploited Vulnerabilities catalog on September 21. The fix for that flaw had shipped in June.<\/p>\n\n<p class=\"wp-block-paragraph\">Binarly then recovered the attackers&#8217; exploit, <code data-no-translation=\"\">exp.py<\/code>, from an open directory on their command server. It targets <code data-no-translation=\"\">\/cgi-bin\/dispatcher.cgi<\/code>. According to Binarly, it still ran commands without authentication on all ten firmware builds that carried the June fix. Zyxel credited Binarly researchers Yegor Vasilenko and Fernando Merc\u00eas in its November 3 advisory for the new CVE.<\/p>\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1598\" height=\"793\" src=\"https:\/\/cyber.mag212.com\/wp-content\/uploads\/2026\/11\/mag212-2026-11-05-fig-zyx.jpg\" alt=\"Diagram of why Zyxel's June GS1900 fix failed and how Patch 3 and a management-VLAN boundary block the attack\" class=\"wp-image-3940\" srcset=\"https:\/\/cyber.mag212.com\/wp-content\/uploads\/2026\/11\/mag212-2026-11-05-fig-zyx.jpg 1598w, https:\/\/cyber.mag212.com\/wp-content\/uploads\/2026\/11\/mag212-2026-11-05-fig-zyx-300x149.jpg 300w, https:\/\/cyber.mag212.com\/wp-content\/uploads\/2026\/11\/mag212-2026-11-05-fig-zyx-1024x508.jpg 1024w, https:\/\/cyber.mag212.com\/wp-content\/uploads\/2026\/11\/mag212-2026-11-05-fig-zyx-768x381.jpg 768w, https:\/\/cyber.mag212.com\/wp-content\/uploads\/2026\/11\/mag212-2026-11-05-fig-zyx-1536x762.jpg 1536w, https:\/\/cyber.mag212.com\/wp-content\/uploads\/2026\/11\/mag212-2026-11-05-fig-zyx-18x9.jpg 18w\" sizes=\"auto, (max-width: 1598px) 100vw, 1598px\" \/><figcaption class=\"wp-element-caption\">Why the June fix failed, and the management boundary that limits who can reach the vulnerable interface. Simplified from Binarly\u2019s reported findings. MAG212 CYBER original diagram.<\/figcaption><\/figure>\n\n<h2 class=\"wp-block-heading\">Why the June fix didn\u2019t work<\/h2>\n\n<p class=\"wp-block-paragraph\">Based on Binarly&#8217;s findings as summarized by SecurityOnline, <code data-no-translation=\"\">dispatcher.cgi<\/code> copies each POST parameter into a fixed buffer without checking the parameter&#8217;s size or how many parameters there are. The June fix added checks too late, after the parameter counter had already been corrupted. Patch 3 caps each field at 511 bytes and checks the count before copying anything. GreyNoise reported that attackers took device configurations, network details and hashed credentials.<\/p>\n\n<h2 class=\"wp-block-heading\">Is it really exploited?<\/h2>\n\n<p class=\"wp-block-paragraph\">The evidence for in-the-wild use of CVE-2026-107441 comes from Binarly. Zyxel&#8217;s advisory does not mention exploitation, and CISA&#8217;s enrichment on the CVE record still read &#8220;Exploitation: none&#8221; on November 5. We found no KEV listing for the new CVE. Treat it as exploited anyway: the exploit came from the attackers&#8217; own server and was tested against the June-patched firmware.<\/p>\n\n<h2 class=\"wp-block-heading\">Affected models and fixed firmware<\/h2>\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Model<\/th><th>Firmware code<\/th><th>Fixed build<\/th><\/tr><\/thead><tbody><tr><td>GS1900-8<\/td><td>AAHH<\/td><td>2.90(AAHH.3)C0<\/td><\/tr><tr><td>GS1900-8HP<\/td><td>AAHI<\/td><td>2.90(AAHI.3)C0<\/td><\/tr><tr><td>GS1900-10HP<\/td><td>AAZI<\/td><td>2.90(AAZI.3)C0<\/td><\/tr><tr><td>GS1900-16<\/td><td>AAHJ<\/td><td>2.90(AAHJ.3)C0<\/td><\/tr><tr><td>GS1900-24<\/td><td>AAHL<\/td><td>2.90(AAHL.3)C0<\/td><\/tr><tr><td>GS1900-24E<\/td><td>AAHK<\/td><td>2.90(AAHK.3)C0<\/td><\/tr><tr><td>GS1900-24EP<\/td><td>ABTO<\/td><td>2.90(ABTO.3)C0<\/td><\/tr><tr><td>GS1900-24HPv2<\/td><td>ABTP<\/td><td>2.90(ABTP.3)C0<\/td><\/tr><tr><td>GS1900-48<\/td><td>AAHN<\/td><td>2.90(AAHN.3)C0<\/td><\/tr><tr><td>GS1900-48HPv2<\/td><td>ABTQ<\/td><td>2.90(ABTQ.3)C0<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h2 class=\"wp-block-heading\">What to do, in order<\/h2>\n\n<ol class=\"wp-block-list\"><li><strong>Close the door first.<\/strong> Limit web management to an admin VLAN or approved hosts with ACLs. The attacker must be on the switch&#8217;s network, so flat school and office networks are the most exposed.<\/li><li><strong>Preserve evidence<\/strong> from any switch reachable from user, student, guest or Wi-Fi segments: configuration and logs.<\/li><li><strong>Install Patch 3<\/strong> for each model, including switches you patched in June. Zyxel lists no workaround.<\/li><li><strong>Change default and reused passwords.<\/strong> If compromise is plausible, reset from a known-good configuration and rotate any credentials the switch held.<\/li><li><strong>V\u00e9rifier<\/strong> the firmware string ends in <code data-no-translation=\"\">.3)C0<\/code> after reboot, the web UI is unreachable from user VLANs, and trunks, PoE and spanning tree behave normally.<\/li><\/ol>\n\n<p class=\"wp-block-paragraph\">A quick, authorized boundary test from a host on a user or student VLAN (replace the placeholder):<\/p>\n\n<pre class=\"wp-block-code\" data-no-translation=\"\"><code data-no-translation=\"\">curl -skI --max-time 5 https:\/\/SWITCH_MGMT_IP\/ ; echo \"exit: $?\"\ncurl -sI  --max-time 5 http:\/\/SWITCH_MGMT_IP\/  ; echo \"exit: $?\"<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Exit code 28 (timeout) or 7 (refused) means that segment is blocked; any HTTP status line means it isn&#8217;t. <em>Checked against curl documentation; not run against live systems for this article.<\/em><\/p>\n\n<h2 class=\"wp-block-heading\">What to look for<\/h2>\n\n<ul class=\"wp-block-list\"><li>HTTP POSTs to switch management addresses from non-admin hosts.<\/li><li>TFTP transfers and unusual outbound connections from switches.<\/li><li>Running configurations that differ from backups: new admin accounts, VLAN or port changes nobody ticketed.<\/li><\/ul>\n\n<p class=\"wp-block-paragraph\">Legitimate provisioning can look similar, so match changes to tickets before escalating. Victims&#8217; firmware versions have not been reported.<\/p>\n\n<h2 class=\"wp-block-heading\">Foire aux questions<\/h2>\n\n<h3 class=\"wp-block-heading\">I patched my GS1900 switches in June. Am I safe?<\/h3>\n\n<p class=\"wp-block-paragraph\">No. According to Binarly, the attackers&#8217; exploit still worked on June-patched firmware. Install 2.90 Patch 3.<\/p>\n\n<h3 class=\"wp-block-heading\">Can this be exploited from the internet?<\/h3>\n\n<p class=\"wp-block-paragraph\">Zyxel&#8217;s CVSS vector is adjacent-network: the attacker needs to reach the switch on its local network. A switch whose management interface is exposed more widely is at greater risk.<\/p>\n\n<h3 class=\"wp-block-heading\">Is there a workaround?<\/h3>\n\n<p class=\"wp-block-paragraph\">Zyxel lists none. Restricting management access reduces exposure, but installing Patch 3 is the fix.<\/p>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex\"><div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/cyber.mag212.com\/fr\/the-patch-that-didnt-hold-mag212-cyber-daily-november-5-2026\/\">Read today&#8217;s full MAG212 CYBER Daily (free) \u2192<\/a><\/div><div class=\"wp-block-button is-style-outline is-style-outline--1\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/cyber.mag212.com\/fr\/subscribe-free\/\">Abonnez-vous gratuitement<\/a><\/div><\/div>\n\n<h2 class=\"wp-block-heading\">Sources<\/h2>\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.zyxel.com\/global\/en\/support\/security-advisories\/zyxel-security-advisory-for-out-of-bounds-write-vulnerability-in-gs1900-series-switches-11-03-2026\" target=\"_blank\" rel=\"noreferrer noopener\">Zyxel security advisory for CVE-2026-107441 (Nov 3, 2026)<\/a><\/li><li><a href=\"https:\/\/cveawg.mitre.org\/api\/cve\/CVE-2026-107441\" target=\"_blank\" rel=\"noreferrer noopener\">CVE-2026-107441 record<\/a><\/li><li><a href=\"https:\/\/www.binarly.io\/blog\/zyxel-gs1900-rce-cve-2026-107441\" target=\"_blank\" rel=\"noreferrer noopener\">Binarly: Zyxel GS1900 RCE (BRLY-2026-057)<\/a><\/li><li><a href=\"https:\/\/www.helpnetsecurity.com\/2026\/11\/05\/zyxel-cve-2026-107441-exploit\/\" target=\"_blank\" rel=\"noreferrer noopener\">Help Net Security: Zyxel CVE-2026-107441 exploit (Nov 5)<\/a><\/li><li><a href=\"https:\/\/www.securityweek.com\/zyxel-switch-hacks-blamed-on-patched-flaw-actually-exploited-a-zero-day\/\" target=\"_blank\" rel=\"noreferrer noopener\">SecurityWeek: Zyxel switch hacks actually exploited a zero-day (Nov 5)<\/a><\/li><li><a href=\"https:\/\/securityonline.info\/zyxel-gs1900-zero-day-cve-2026-107441\/\" target=\"_blank\" rel=\"noreferrer noopener\">SecurityOnline: Zyxel GS1900 zero-day<\/a><\/li><li><a href=\"https:\/\/community.zyxel.com\/en\/discussion\/34420\/switch-gs1900-series-v2-90-patch-3-firmware-release\" target=\"_blank\" rel=\"noreferrer noopener\">Zyxel Community: GS1900 V2.90 Patch 3 release<\/a><\/li><li><a href=\"https:\/\/www.helpnetsecurity.com\/2026\/09\/22\/zyxel-switches-cve-2026-7273-vulnerability-exploited\/\" target=\"_blank\" rel=\"noreferrer noopener\">Help Net Security: CVE-2026-7273 exploited (Sep 22)<\/a><\/li><\/ul>\n\n<h2 class=\"wp-block-heading\">Articles connexes sur MAG212 CYBER<\/h2>\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/cyber.mag212.com\/fr\/the-patch-that-didnt-hold-mag212-cyber-daily-november-5-2026\/\">The Patch That Didn&#8217;t Hold: MAG212 CYBER Daily, 5 November 2026<\/a><\/li><li><a href=\"https:\/\/cyber.mag212.com\/fr\/crafty-falcon-cert-in-ai-assisted-attacks-payment-firms\/\">Crafty Falcon: CERT-In Warns of AI-Assisted Attacks on Payment Firms<\/a><\/li><li><a href=\"https:\/\/cyber.mag212.com\/fr\/ai-developer-platform-breaches-rotate-stored-keys\/\">AI Developer Platform Breaches: Rotate the Keys You Stored<\/a><\/li><li><a href=\"https:\/\/cyber.mag212.com\/fr\/rails-active-storage-ghsa-f3w6-w445-fwh9-upgrade-rotate-secrets\/\">Rails Active Storage: Upgrade, Then Rotate Your Secrets<\/a><\/li><li><a href=\"https:\/\/cyber.mag212.com\/fr\/barracuda-esg-cve-2026-116606-cve-2026-111560-root-chain\/\">Barracuda ESG Chain: From Admin Interface to Root<\/a><\/li><li><a href=\"https:\/\/cyber.mag212.com\/fr\/android-cve-2026-58868-chrome-157-november-patches\/\">Android CVE-2026-58868 and Chrome 157: November\u2019s Patch Load<\/a><\/li><li><a href=\"https:\/\/cyber.mag212.com\/fr\/magazine-library\/\">Chaque num\u00e9ro de la biblioth\u00e8que de magazines<\/a><\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>Binarly says Zyxel GS1900 switches patched in June stayed exploitable. Zyxel has issued CVE-2026-107441 and 2.90 Patch 3. Here are the fixed builds for all ten models, how the June fix failed, and what to do first.<\/p>","protected":false},"author":1,"featured_media":3945,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,14],"tags":[189,28,107,188],"class_list":["post-3955","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-critical-cves","category-vulnerabilities","tag-cve-2026-107441","tag-network-security","tag-patch-management","tag-zyxel"],"_links":{"self":[{"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/posts\/3955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/comments?post=3955"}],"version-history":[{"count":0,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/posts\/3955\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/media\/3945"}],"wp:attachment":[{"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/media?parent=3955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/categories?post=3955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/tags?post=3955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}