-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 NEFARIOUSPLAN-CANONICAL-V1 {"body_md":"## What the CVE record says and does not say\n\nThe Fortinet-assigned CVE record for CVE-2026-121529 is short. The description, verbatim:\n\n> A origin validation error vulnerability in Fortinet FortiClientMac 7.4.0 through 7.4.7, FortiClientWindows 7.4.0 through 7.4.7, FortiClientWindows 7.2.0 through 7.2.14, FortiClientWindowsPAM 7.4.7, FortiClientWindowsPAM 7.2.14 may allow an unauthorized remote attacker to execute unauthorized code or commands. Successful exploitation requires interaction with the victim.\n\nThe CWE is 346 (origin validation error). The CVSS 3.1 vector is `AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H/E:P/RL:O/RC:C`, scored 9.1 by Fortinet. NVD's enrichment published the same vector without the temporal metrics and scored it 9.6. The temporal metrics Fortinet shipped are the ones that make the difference: `E:P` (proof-of-concept exploit code exists) and `RL:O` (official fix available). `E:P` is the CVSS vendor-attestation that somebody, somewhere, has a PoC. The CVE record names nobody.\n\nThe CISA ADP enrichment attached to the same record contradicts that attestation at a different granularity. SSVC version 2.0.3:\n\n```json\n{\n \"Exploitation\": \"none\",\n \"Automatable\": \"no\",\n \"Technical Impact\": \"total\"\n}\n```\n\n`Exploitation: none` is the SSVC value CISA uses when a vulnerability has neither public proof-of-concept exploit code nor evidence of in-the-wild exploitation. Fortinet's CVSS temporal says proof-of-concept exists; CISA's SSVC says no exploit code is public and nobody is using it. The two are not formally in conflict (one is a vendor attestation, one is a defender posture call), but a defender reading the record sees the vendor flag a PoC and the SSVC block flag none.\n\nBaldur Security's `baldur.dk` lists FortiClient-adjacent research going back years but no entry for CVE-2026-121529, Fortinet2Shell, or the FortiVRS local service. The vendor advisory `FG-IR-26-194` was not loading at the time this post was written; the PSIRT index responded with `Could not retrieve this post at this time.` The CVE record contains no acknowledgements. The researcher that Fortinet credited (if Fortinet credited anyone) is not visible in any of the public surfaces the pipeline polls.\n\n## What the scanner summed to a 9\n\nThe vulnerability-intelligence pipeline that triggered this writer scored the candidate a 9 with the following reason-components:\n\n```text\ninfosec.exchange:@thecybersecguru+2\ngh-search+2\nCVSS9.6+2\nAV:N+1\nPR:N+1\nmulti-poc×2+1\n```\n\n`CVSS9.6` is NVD's enrichment of the Fortinet-assigned vector. `AV:N` and `PR:N` are two of the metric values that compose it. `multi-poc×2+1` is the pipeline's bonus for two or more distinct public PoC sources arriving for the same CVE. The two sources it summed are the `infosec.exchange` post and the `gh-search` repo.\n\nThe two sources are what follow.\n\n## The infosec.exchange \"PoC\" is a WordPress article's own quote-share\n\nThe Mastodon URL is `https://infosec.exchange/@thecybersecguru/117598221349802056`, posted at 14:14:13 UTC on November 11. The account `thecybersecguru` was created on June 25, 2026 and carries 43 followers, 358 statuses, and avatar + header images set to the default missing-image placeholders. The post's engagement numbers are `replies_count: 0`, `reblogs_count: 0`, `favourites_count: 0`, `quotes_count: 0`.\n\nThe post itself is a quote-share. The quoted status (`117598210117868867`, published 14:11:04 UTC on the same day, three minutes earlier) belongs to a different account, `guru@thecybersecguru.com`, whose Mastodon profile lists one custom field:\n\n```json\n{\"name\": \"Powered by\", \"value\": \"WordPress\"}\n```\n\nThe `@thecybersecguru` and `@guru` accounts are the Mastodon-side relays for the same WordPress site. The quoted status is an ActivityPub-syndicated announcement of an article at `https://thecybersecguru.com/news/fortinet2shell-cve-2026-121529/`, published three minutes before the quote share went out and quote-shared from itself to itself.\n\nThe article is a technical summary. Its `Proof-of-Concept Status` section contains one sentence:\n\n> No exploit code has been publicly released; the article analyzes the mechanism without demonstrating it.\n\nThe article attributes the research to `Kevin Joensen (Baldur Security)`. Baldur Security's own site does not mention CVE-2026-121529 or Fortinet2Shell. The CVE record does not credit Joensen or anyone else. The CyberSec Guru is the only public surface that names a researcher for this bug. The pipeline treated `@thecybersecguru`'s syndicated-WordPress quote-share as an independent source because its account domain is `infosec.exchange` and the post body contains the string `CVE-2026-121529`. The pipeline did not click through the quote to notice that the author of the quoted status is the same WordPress-backed account, and did not open the linked article to notice that it says no exploit exists.\n\n## The GitHub \"PoC\" is a README whose structure block advertises a tree that has never existed\n\nThe repository is `ashrafzaryouh/CVE-2026-121529`. The `created_at` timestamp from the GitHub API is `2026-11-11T13:28:57Z`. The `pushed_at` is `2026-11-11T14:03:43Z`. Thirty-five minutes between the initial commit and the author abandoning the push log. The repository's `size` field is `4` (kilobytes total). `stargazers_count` is `0`. `watchers_count` is `0`. `language` is `null`.\n\n`git ls-tree -r HEAD` returns one path:\n\n```text\nREADME.md\n```\n\nThe README is 7,471 bytes. It renders two images in its `
` header blocks:\n\n```html\n\n
\n```\n\nThe `user-attachments` subdomain is the CDN GitHub issues images to when a user pastes them into a comment or an issue body; the URLs are not tracked in the repository. A repository fork or a `git clone` captures neither image. Under the second image, in the `Attack Surface` section, the README states the caption:\n\n> Conceptual security model. This diagram does not establish a working exploit or verified code-execution chain.\n\nThe repository itself is the receipt.\n\nBelow the caption, the README's `Repository Structure` section:\n\n```text\nFortinet2Shell/\n│\n├── README.md\n├── LICENSE\n├── CHANGELOG.md\n│\n├── assets/\n│ └── fortinet2shell-banner.png\n│\n├── docs/\n│ ├── technical-analysis.md\n│ ├── attack-surface.md\n│ ├── detection.md\n│ └── mitigation.md\n│\n├── detection/\n│ └── README.md\n│\n├── screenshots/\n│ └── README.md\n│\n└── references/\n └── sources.md\n```\n\nEleven file paths. The tree at HEAD contains one of them. `LICENSE`, `CHANGELOG.md`, `assets/fortinet2shell-banner.png`, four files under `docs/`, `detection/README.md`, `screenshots/README.md`, `references/sources.md`: none of the other ten have ever been committed.\n\nThe `Technical Analysis` section is three paragraphs of paraphrased CVE description. The `Potential Impact` table has five rows (`API Abuse`, `Information Disclosure`, `Integrity`, `Privilege Abuse`, `Availability`) with cells that could be written for any CWE-346. The `Detection & Monitoring` checklist is eight bullet points all beginning with `Identify`, `Review`, `Monitor`, or `Investigate`. The `Mitigation & Hardening` section recommends upgrading to vendor-confirmed fixed versions and following official Fortinet PSIRT recommendations. The `References & Resources` table has four outbound links: Fortinet PSIRT, NIST NVD, the CVE Program, and MITRE CWE-346.\n\nThe repository is a markdown wrapper pointing at vendors. The `Repository Structure` section advertises a research project that has never existed. The Mitigation and References sections are the links a reader with the CVE identifier can reach without a GitHub repository in the loop.\n\nThis is the [Placeholder PoC](/patterns/placeholder-poc) pattern at the limit. Yesterday's [Chrome XML UAF coverage](/posts/cve-2026-125350-chrome-xml-uaf-two-pocs-neither-knows-chrome) analyzed a different `ashrafzaryouh` artifact: a 5,845-byte HTML page whose version comparator ran against the Stable Channel constant `[157, 0, 8103, 50]` and labeled patched Extended Stable users on `156.0.8078.96` as vulnerable. That one executed. It produced the wrong answer. This one does not execute.\n\n## Ashraf Zaryouh and the 144-repository pattern\n\nThe committer identity on `ashrafzaryouh/CVE-2026-121529` is `Ashraf Zaryouh