Security1 distinct publisher3 min readPublished
UltraViolet Cyber's Zonifer chained a missing manager check with an inverted strncmp in Atsign's C sshnpd daemon. Atsign patched in four days, and the CVE that inventory tools would match on is still pending.
The Watch · Security desk

security
Six bugs, one order of operations: Avada's zero-click chain is a same-day patch1 distinct publisher
build
Next.js checks Origin for Server Actions. Move the same logic to a route handler and it stops.1 distinct publisher
build
A Rust veteran's first Zig project: the friction was tooling and layout, not safety1 distinct publisher
build
Shared memory in Java: the mmap is the easy half, the descriptor handoff is the work1 distinct publisher
Compiled by The WatchSomething wrong?How this is made
Strip the -s flag and the first bug still matters. The dispatch path confirms a request was cryptographically signed by a legitimate atSign, then runs the session-request, SSH-request and tunnel-request handlers without comparing that identity against the configured manager list [3]. That alone turns the daemon into a broker. Any holder of a valid atSign can ask for relay connectivity to a service the operator deliberately never published to the network [4]. Key injection is the part that turns reachability into a login, and it requires the daemon to have been started with -s, which enables SSH public-key sharing [5].
The validation on that path fails in three ways inside one function. It measures the wrong string, adds a bounds check that can never fire, and inverts the return of strncmp() so a prefix mismatch reads as a match, which lets arbitrary attacker-supplied key material through to the code that writes authorized_keys [6]. Chained, the sequence is ordinary product behaviour: request a session as an unauthorized identity, submit a key the broken check accepts, let the daemon write it to authorized_keys, then use the daemon's own relay to reach localhost:22 and authenticate with it [7]. The advisory notes the chain skips memory corruption and credential theft entirely, and it manipulates no protocol along the way, which is also why conventional monitoring is unlikely to flag it [8].
The dates are tight. Zonifer filed on August 21, Atsign shipped a patched release on August 25 [9], and the UltraViolet Cyber advisory carrying the findings was published on August 25, 2026 [10]. That is four days from report to fix [11], and the patch was available the same day the technical detail went public [12].
The Dart implementation contains the manager check the C port omitted [13], which puts the defect in the reimplementation rather than in the protocol specification the Atsign Foundation maintains [17].
What the advisory does not carry is a CVE identifier, because the request is still pending [14]. It also reports no exploitation in the wild and gives no figures for how many deployments run the C daemon or how many run it with -s [18]. UltraViolet Cyber says its TIDE team has begun implementing detections and running threat hunts against Atsign infrastructure in customer environments [15]; that is preparation, not evidence of activity. Both accounts trace to one researcher, the UVCyber advisory and Zonifer's own writeup [16], and UVCyber's own guidance is that anyone running the C implementation should treat this as a priority [19].
For an operator the identifying question is narrow and answerable without a CVE: which hosts run the C sshnpd instead of the Dart daemon, and which of those were launched with -s.
Ranked by verification strength, evidence, and original report placement.
Atsign is the company behind atProtocol and NoPorts, a remote-access platform built around removing exposed inbound ports as the primary trust boundary; instead of granting access based on network reachability it verifies cryptographic identity and establishes end-to-end encrypted sessions through relay infrastructure.
Aaron, who uses the handle "Zonifer", a member of UltraViolet Cyber's Offensive Security Services Team, discovered two vulnerabilities in the C daemon (sshnpd) of Atsign's NoPorts.
The first flaw is a missing authorization gate in the daemon's request-dispatch logic: the C daemon verifies that a message was cryptographically signed by a legitimate atSign but never checks that atSign against the configured manager list before executing session-request, SSH-request and tunnel-request handlers.
As a result of the missing authorization gate, any holder of a valid atSign identity, not just an authorized manager, can request relay connectivity to a service that was never exposed to the network.
The second flaw applies when the daemon runs with the -s flag, which enables SSH public-key sharing.
The routine intended to confirm a submitted key begins with a supported SSH key prefix measures the wrong string, applies a bounds check that can never trigger, and inverts the result of strncmp() so mismatches are treated as valid matches; the prefix check therefore fails open and arbitrary attacker-supplied key material passes to the code that writes into authorized_keys.
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 27, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Specific code, single voice
The mechanics are described at a level you could diff against the source tree — which handlers skip the manager-list lookup, which string the prefix validator measures, where the inverted strncmp() sits — and that specificity is most of what carries this story. It also carries all of it. Zonifer's original post is linked but not part of our reporting, Atsign says nothing in its own words, and there is no CVE record to check the description against.
Fix shipped, reach uncounted
Two things actually happened: a patched release on 25 August and detections going live in UltraViolet Cyber's customer estates. What is missing is the denominator — how many NoPorts installs run the C daemon rather than the Dart one, how many pass -s, how many have taken the release. Without those, the fix is confirmed and the exposure is not sized.
Critical label, unsized blast radius
"Critical" and "priority action item" are doing more work than the numbers support: nothing here says how many hosts run the C daemon with -s, and no exploitation is reported. The tilt is modest rather than promotional, because the same page also volunteers the details that deflate urgency — patched in four days, disclosed only once the fix existed.
Finder, publisher and detection seller are one firm
UltraViolet Cyber employs the researcher, hosts the disclosure, grades Atsign's response as strong, and closes by noting its own TIDE team is already writing detections and hunting Atsign infrastructure for customers. The page even opens with a promo for a different threat advisory. None of that makes the bug analysis wrong; it does mean the severity framing and the service pitch come from the same desk, with no adversarial party in the story.
Plausible, unverified, unindexed
We would stand behind the mechanism and the dates; we cannot stand behind scope. One self-interested source, no vendor confirmation, no CVE, and a stated publication date of August 2026 that a reader will want to reconcile against when this reached them. Enough to act on if you run the C daemon, not enough to characterise how widely it matters.