HB Updated Oct 30, 2026

The Unguarded First Day: 17 CVEs in Juniper Session Smart Router

Rack-mounted network appliance in a dark data center, one amber status light glowing on an unconfigured unit, power cables waiting (AI-generated illustration)

On October 28, 2026, Juniper Networks published JSA112183, a coordinated advisory that lands differently from the usual single-CVE bulletin: it discloses seventeen vulnerabilities in Session Smart Router (SSR) and Session Smart Conductor, all on the same day, all fixed in the same set of releases. Two of them are critical. One (CVE-2026-103409, CVSS 9.8) hands administrative control of a router to anyone on the network who can reach its management interface - but only in a specific, easily-overlooked window of the device’s life: before it has been onboarded to Mist or a Conductor. The other (CVE-2026-103406, CVSS 9.8) turns the name of a Salt minion into a root command injection on the Conductor itself - the box that manages your whole fleet.

The remaining fifteen fill out a complete takeover kit: a stack overflow in the DHCP client that gives remote code execution to anyone L2-adjacent, a symlink bug that overwrites files as root, an unsigned model cache that PCLI executes happily, two command injections in AccessManager, a path traversal into the certificate store, and a spread of memory-corruption bugs in the TCP optimization and VRRP paths.

This article walks through the full batch: what each vulnerability is, how the affected components fit together, which windows of exposure actually matter, and a lab PoC for the DHCP attack surface - the one part of this advisory you can meaningfully rehearse without a licensed appliance. If you run SSR or a Juniper Mist WAN Edge deployment, the practical takeaway is simple: there are no workarounds, and the fix is 7.0.5, 7.1.7, or 7.2.3.


Background: What Is Session Smart Router?

Session Smart Router is a software router and SD-WAN platform that came to Juniper through acquisition: Juniper announced its intent to buy 128 Technology on October 19, 2020, in a deal valued at $450 million, and the platform has since become part of Juniper’s Mist WAN portfolio - the advisory itself speaks of devices being “onboarded to Mist”. Where a classic router forwards packets hop by hop, the 128T platform was built around sessions and service policies: its documentation dedicates concept pages to session timers, service design, and its signature “Secure Vector Routing” technology. That design is why the CVE list below reads like a tour of the platform: several of the memory bugs sit in exactly the session machinery that distinguishes SSR from a plain Linux router.

The platform has two roles:

Component Role Where the batch hits it
Session Smart Router (SSR) The data-plane node. Runs forwarding, session setup, DHCP client, VRRP, DPI scanning, the local management web UI and PCLI Affected by 16 of the 17 CVEs
Session Smart Conductor The management node. Hosts configuration, the REST/web API, provisioning, and a Salt master that routers connect to as Salt minions Affected by 9 of the 17 CVEs (one exclusively Conductor)

Two implementation details from the public documentation matter for this advisory. First, provisioning is Salt-based: the Conductor runs a Salt master (configured under /etc/128technology/salt/master), each router joins as a Salt minion, and the master executes Salt highstate for the minion on connect, pushing rendered configuration down via Salt pillars. That is precisely the machinery CVE-2026-103406 corrupts. Second, a fresh router is a wide-open box by design: the installation flow ends with a QuickStart web page on the router - reachable on the management LAN, with DHCP enabled on its ports and documented default credentials (admin / 128Tadmin) - that waits for an operator to apply a QuickStart file and join it to a Conductor. That is precisely the window CVE-2026-103409 lives in.


The Batch at a Glance

All seventeen CVEs were published by Juniper’s PSIRT (the CNA for these records) on the same day, and all reference the same advisory. Sorted by severity:

CVE CVSS CWE Component Access Products
CVE-2026-103409 9.8 Critical CWE-306 Missing auth on insecure endpoint running as root Network, unauthenticated (pre-onboarding) Router
CVE-2026-103406 9.8 Critical CWE-78 AutomatedProvisioner, salt minion ID command injection Network, unauthenticated Conductor
CVE-2026-103401 8.8 High CWE-59 Symlink following in unauthenticated web server handlers Low-priv, via web API Router + Conductor
CVE-2026-103402 8.8 High CWE-345 PCLI executes unverified model cache files Local, cache-dir write Router + Conductor
CVE-2026-103403 8.8 High CWE-78 AccessManager audit-rule deletion command injection Low-priv Router + Conductor
CVE-2026-103407 8.8 High CWE-22 ConfigDirector certificate/key path traversal Authenticated REST user Router + Conductor
CVE-2026-103408 8.8 High CWE-121 DHCP client stack buffer overflow Adjacent network, unauthenticated Router
CVE-2026-106079 8.8 High CWE-78 AccessManager YANG configuration command injection Config-write privileges Router + Conductor
CVE-2026-103410 7.5 High CWE-190/835 DPI certificate scanner integer overflow Network, unauthenticated (crafted TLS cert) Router
CVE-2026-103411 7.1 High CWE-191 DhcpMessageDecoder integer underflow Adjacent network, unauthenticated Router
CVE-2026-103400 5.5 Medium CWE-74 Ember service output injection Local Router + Conductor
CVE-2026-103405 5.8 Medium CWE-74 Web server HTTP header injection Network Router + Conductor
CVE-2026-103390 5.3 Medium CWE-125 HttpParser out-of-bounds read Network Router + Conductor
CVE-2026-103391 5.3 Medium CWE-787 TCP proxy/optimization out-of-bounds write Network, transit packet Router
CVE-2026-103392 4.8 Medium CWE-787 Oversized SACK option out-of-bounds write Network, transit packet Router
CVE-2026-103393 4.3 Medium CWE-125 VRRPv3 advertisement out-of-bounds read Adjacent Router
CVE-2026-103394 3.7 Low CWE-665 Improper initialization in security policy assignment Network, high complexity Router

Every CVE in the batch shares the same version matrix, which makes triage refreshingly simple:

Installed version Status Fixed in
All releases before 7.0.5 Affected 7.0.5
7.1.0 through before 7.1.7 Affected 7.1.7
7.2.0 through before 7.2.3 Affected 7.2.3

The advisory states there are no workarounds for any of the seventeen issues. Upgrading is the only remediation - and since CVE-2026-103406 targets the Conductor, fleet managers should treat the Conductor as the first hop in the upgrade order, not the last.


The Criticals

CVE-2026-103409: Administrative Access Before Onboarding

A Missing authentication for critical function vulnerability in Juniper Networks Session Smart Router allows an unauthenticated network-based attacker to obtain administrative privileges by passing crafted URL parameters to an insecure endpoint running as root. - Juniper PSIRT

The CVSS 9.8 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) describes the worst case on paper: network-reachable, no privileges, no user interaction, total confidentiality/integrity/availability impact. The qualifier in the advisory is what makes it operationally interesting:

Note that this vulnerability can only be exploited prior to the device being onboarded to Mist/Conductor. The issue can no longer be exploited once a device is onboarded to Mist/Conductor.

So the attack window is the provisioning phase. From the public installation documentation, that phase is not a side note - it is a designed state where the router:

  • exposes a QuickStart web page for initial configuration: the documented flow has the operator plug a laptop into any ethernet port except port 1, log into the router’s staging address with factory credentials (admin / 128Tadmin - the docs also list root / 128tRoutes and t128 / 128tRoutes as accounts created during ISO install), and drag in the QuickStart file generated by the Conductor. The router hands out a staging address over DHCP on those ports (192.168.0.128 is the documented default device host address).

In other words, Juniper’s own advisory confirms what the docs imply: an unconfigured SSR sitting on a staging LAN is running a privileged, insecure endpoint with no authentication boundary. Anyone who can reach the device’s staging address in that state - a colleague on the staging VLAN, a mis-patched switch, a rogue laptop - can pass crafted URL parameters to that endpoint and obtain administrative privileges on the root-running service, no credentials required. Once the device is onboarded to Mist or a Conductor, the vulnerable path closes.

This is why zero-touch deployments deserve specific attention here: the entire point of staging flows is that boxes get powered up on ordinary LANs before anyone configures them. The advisory does not enumerate the affected endpoint, and neither will we - but the practical defense is to treat every un-onboarded SSR as hostile ground until it is upgraded: stage on an isolated VLAN, or upgrade the ISO before the device ever touches a shared network.

The pre-onboarding window: lifecycle from ISO install to onboarding, with the CVE-2026-103409 exposure zone and upgrade guidance

CVE-2026-103406: Salt Minion ID to Root on the Conductor

An Improper Neutralization of Special Elements used in an OS Command vulnerability in the AutomatedProvisioner in Juniper Networks Session Smart Conductor allows a remote attacker to execute arbitrary commands as root via a specially crafted salt minion ID. - Juniper PSIRT

If CVE-2026-103409 is about a single un-onboarded router, this one is about the box behind your whole deployment. Recall the provisioning architecture from the public documentation: routers join the Conductor as Salt minions, and the moment a minion connects, the Salt master runs provisioning logic against it. The AutomatedProvisioner is that logic - and per the advisory, it interpolates the minion ID supplied by the connecting device into a command without neutralizing shell metacharacters. A connecting party that controls its own minion ID string therefore reaches command execution as root on the Conductor.

The severity vector (AV:N/AC:L/PR:N/UI:N) says this needs no credentials and no user interaction - it is a network-reachable critical against the management node. The Conductor is not a forwarding box; it holds the configuration authority, the certificate store, and the Salt pillars (which the documentation describes as the mechanism for delivering confidential configuration to minions). Root on a Conductor is therefore one step from fleet-wide compromise: config push, certificate extraction, and arbitrary re-provisioning of every router that reports to it.

It is worth noting how familiar this bug class is. Salt’s own 2020 advisory wave covered authentication bypass and command-injection flaws in the same master/minion architecture (CVE-2020-11651, for example, allowed an unauthenticated caller to invoke master functions and run commands on connected minions), and the lesson from those advisories applies unchanged here: any string a client supplies that ends up in a shell command is an injection waiting for its CVE number. The minion ID looks like an innocuous label; it is remote input, and it clearly reached a root-privileged shell.


The LAN Attacker: DHCP as a Weapon

CVE-2026-103408: Stack Overflow in the DHCP Client

A Stack Buffer Overflow vulnerability in the DHCP client in Juniper Networks Session Smart Router allows an unauthenticated attacker on the local network to achieve remote code execution via a malicious DHCP reply. - Juniper PSIRT

The DHCP client is a recurring villain in router advisories for a structural reason: it is a network service that parses attacker-controlled packets before any trust relationship exists. A DHCP client’s job is to accept a reply from whichever server answers on its broadcast segment - by definition, any L2-adjacent host can send one. In an office, that is everyone on the same VLAN; on a misconfigured switch port, it is whoever can reach your uplink; at a temporary site, it is the conference room.

Per the advisory, a malicious DHCP reply here is enough for remote code execution (CWE-121, stack buffer overflow, CVSS 8.8 with the adjacent vector AV:A). The advisory does not specify which DHCP reply fields carry the overflow, and we will not guess - but the PoC section below shows how the delivery vector works and how you can rehearse detection for it in your own lab, honestly, without the appliance.

CVE-2026-103411: Integer Underflow in DhcpMessageDecoder

Same delivery vehicle, milder outcome (CVSS 7.1): an integer underflow (CWE-191) in a component literally named DhcpMessageDecoder lets a malicious DHCP reply cause information disclosure and denial of service. The component name suggests a DHCP packet parser reading length fields from the wire - underflows in that pattern typically walk a parser past a buffer’s start, leaking memory or crashing the process. Again: crafted DHCP reply, unauthenticated, adjacent network. If your monitoring sees a router’s DHCP client flapping, this is one candidate explanation.

One network segment, two bugs, two outcomes - and both need nothing from the attacker but the ability to answer a DHCPDISCOVER first. Network-side DHCP snooping on switching infrastructure, which drops DHCP server messages from untrusted ports, breaks the delivery vector for both.


The Post-Auth and Local Kit: From Foothold to Root

The remaining high-severity issues form a coherent escalation kit. Individually each requires some prior access; chained together, they turn a minor foothold into root:

CVE Entry requirement What it yields
CVE-2026-103401 Local unprivileged user, via unauthenticated web server handlers Arbitrary file overwrite as root (symlink following, CWE-59)
CVE-2026-103402 Write access to the PCLI model cache directory Code execution + privilege escalation (unverified cache files, CWE-345)
CVE-2026-103403 Low-privileged attacker File deletion + command execution via audit-rule deletion in AccessManager (CWE-78)
CVE-2026-106079 Config-write privileges Command execution as root via YANG configuration in AccessManager (CWE-78)
CVE-2026-103407 Authenticated REST user Read/overwrite/delete arbitrary certificate and key files via path traversal (CWE-22)

Two of these deserve a second look. CVE-2026-103401 pairs symlink following with unauthenticated web server handlers: the CVSS vector (AV:N/PR:L) and the description together indicate a web API that a low-privileged local user can drive into overwriting arbitrary files as root - the classic /etc/shadow or service-binary overwrite, delivered through the product’s own HTTP interface. CVE-2026-103407 is quieter but strategically valuable for an attacker: the certificate and private-key store. Path traversal that reads, overwrites, or deletes those files is identity theft for a router - keys for the web UI, for tunnel authentication, for the Conductor relationship.

For anyone operating SSR deployments, this table is a reminder that “authenticated, low-privilege” accounts are not safe placeholders: on this platform they have been a direct line to root.


The Data-Plane Set: Memory Bugs Where Traffic Flows

The mediums and the one low-severity issue are memory-safety and injection bugs in the packet path - less dramatic than the criticals, but sitting on interfaces that face untrusted networks by definition:

  • CVE-2026-103390 (CWE-125): out-of-bounds read in HttpParser, denial of service via crafted HTTP request.
  • CVE-2026-103391 (CWE-787): out-of-bounds write in the SSR TCP proxy/optimization path - a transit TCP packet with crafted fields can corrupt forwarded data and crash the data plane. This is the session-oriented forwarding machinery the platform is built around.
  • CVE-2026-103392 (CWE-787): oversized SACK option write in TCP header processing - data corruption and session desynchronization from transit traffic.
  • CVE-2026-103393 (CWE-125): out-of-bounds read in VRRPv3 handling - stale memory disclosure or a system fault from a crafted advertisement. VRRP packets are trivially spoofable on any L2 segment without authentication.
  • CVE-2026-103410 (CWE-190/835): integer overflow in the DPI certificate scanner - a crafted TLS server certificate causes denial of service. Note the delivery: any TLS session the SSR’s DPI scanner inspects is an input channel.
  • CVE-2026-103400 (CWE-74) and CVE-2026-103405 (CWE-74): injection flaws in the local ember service and the web server’s HTTP header handling respectively.
  • CVE-2026-103394 (CWE-665): improper initialization that can leave traffic decryptable or disruptible through security policy assignment - the lowest score in the batch, but the only one that speaks directly to confidentiality of routed traffic.

Attack Scenarios

Pulling the batch together into the three scenarios that matter operationally - the map below shows where each CVE group sits on the platform:

Attack surface map: the three attacker profiles and the SSR components each CVE group targets, with the post-auth escalation kit and fleet pivot

Scenario A - the staging LAN. A batch of new routers arrives at a branch office and gets powered on a shared switch before someone walks them through onboarding. Any device on that VLAN reaches the un-onboarded routers’ QuickStart interface; CVE-2026-103409 converts reachability into root-level administrative access, and the victim boxes never know provisioning was intercepted.

Scenario B - the shared segment. A deployed SSR sits on a WAN hand-off or a user VLAN where the attacker has L2 presence. A rogue DHCP responder wins the race against the legitimate server; CVE-2026-103408 turns the reply into code execution on the router. No credentials, no user interaction.

Scenario C - the conductor. The attacker can reach the Conductor’s network interface (CVE-2026-103406 is unauthenticated), sends a minion-join with a crafted ID, and executes commands as root on the management node - with configuration authority, the certificate store, and Salt pillars on the same disk. From there, every managed router is a push away.

 Attacker (L2-adjacent)                Attacker (network)
        |                                     |
        v                                     v
 +-------------+  DHCP reply   +--------+   minion join   +-----------+
 |  SSR Router |<--------------| LAN    |                 |           |
 | (pre-       |  CVE-2026-    | segment|   CVE-2026-     | Conductor |
 |  onboarding)|  103408/411   +--------+   103406        |           |
 +------+------+                                      +-----+-----+
        | crafted URL params                                 | root
        v (CVE-2026-103409)                                  v
 +-------------+                                     fleet config push
 | admin=root  |<----- one compromise away from ------+
 +-------------+        the whole deployment

None of these scenarios requires chaining across more than one vulnerability, which is what distinguishes this advisory from the usual single-bug bulletin: it ships the entry, the escalation, and the fleet pivot in one release.


Proof of Concept: Rehearsing the DHCP Attack Surface

All PoC tooling for this article is in the companion repository:

https://github.com/Hunt-Benito/the-unguarded-first-day-cve-2026-103409-juniper-session-smart-router

Caveat first, in bold, because it matters: no part of this PoC reproduces an actual SSR compromise. SSR software is distributed under Juniper entitlements, and the advisory does not publish the vulnerable parser internals, so a truthful lab demo has to stop where the facts stop. What the kit does instead is honest and still useful: it crafts the two generic malformed-DHCP-reply shapes that the advisory’s CWE classes describe (CWE-121 overflow via reply options for CVE-2026-103408, CWE-191 length underflow for CVE-2026-103411), detects those shapes, and audits for the pre-onboarding exposure CVE-2026-103409 depends on. Everything below ran on plain Linux with Python 3 and scapy, in pcap mode, with no root privileges and no Juniper software.

Crafting the malformed replies

01_dhcp_replay.py builds a compliant-looking OFFER and then patches the options area by hand (scapy caps the DHCP options field, so the malformed TLVs are spliced into the raw BOOTP payload and the packet is reserialized with recomputed IP/UDP checksums):

$ python3 01_dhcp_replay.py --shape overflow --demo-pcap overflow.pcap
[+] built overflow frame, 1014 bytes - options area intentionally oversized (CVE-2026-103408 class)
[+] wrote overflow.pcap

$ python3 01_dhcp_replay.py --shape underflow --demo-pcap underflow.pcap
[+] built underflow frame, 302 bytes - trailing option length overclaims remaining bytes (CVE-2026-103411 class)
[+] wrote underflow.pcap

The underflow shape is worth inspecting byte-by-byte, because it is the exact pattern an integer-underflow decoder chokes on. The frame tail after the DHCP magic cookie reads:

0110  00 00 00 00 00 00 63 82 53 63 35 01 02 36 04 C0  ......c.Sc5..6..
0120  A8 01 05 33 04 00 01 51 80 72 20 41 42 FF        ...3...Q.r AB.

Walk it as a decoder would: 35 01 02 is the message-type option, 36 04 C0 A8 01 05 the server identifier, 33 04 00 01 51 80 the lease time. Then comes 72 20 41 42 - option 114, whose length byte claims 32 bytes but which carries only 2 before the end marker (FF). A parser that trusts the claimed length and walks 32 bytes forward is now reading stack memory that was never a DHCP option.

Detecting the shapes

02_dhcp_monitor.py parses server replies independently of any DHCP implementation and flags four anomaly classes, including both shapes above. Run against the three pcaps (two malicious, one compliant control):

$ python3 02_dhcp_monitor.py --pcap overflow.pcap --pcap underflow.pcap --pcap benign.pcap
[!] overflow.pcap src=02:00:00:aa:bb:01 -> OVERSIZED-OPTIONS(732B>312B)
[!] underflow.pcap src=02:00:00:aa:bb:01 -> LENGTH-OVERRUN(code=114,claims=32,available=3)
[=] done: 2 alert(s)

The compliant control frame raises no alert. The monitor also flags a rogue-OFFER race - multiple OFFERs with different source MACs for one transaction id - which is the delivery condition for both DHCP CVEs regardless of which parser bug receives the reply. In production, wire the same rules into your network monitoring (a tcpdump/Zeek sensor on the client VLANs), since the tool’s live mode is a lab convenience, not a sensor platform.

Auditing for the pre-onboarding exposure

03_ssr_exposure_audit.sh answers the operational question CVE-2026-103409 raises from outside the box: is anything on my network sitting in the un-onboarded state the advisory warns about? It probes the management ports, looks for 128T/SSR markers in the HTTP response, extracts a version banner if present, and compares it against the fixed releases. It is passive - no exploit traffic, no credential guessing:

$ PORTS="18080" ./03_ssr_exposure_audit.sh 127.0.0.1    # against a mock page
[*] auditing 127.0.0.1 (ports: 18080)
[+] port 18080 open
[!] HTTP 18080: marker 'QuickStart' present - host identifies as 128T/SSR
[!] HTTP 18080: marker '128T' present - host identifies as 128T/SSR
[!] HTTP 18080: marker 'Session Smart' present - host identifies as 128T/SSR
[*] HTTP 18080: banner 'Version: 7.2.1'
[!] version does not match a fixed JSA112183 release
[=] CONCLUSION: host answers with 128T/SSR markers on management ports.
    If this box is not yet onboarded to Mist/Conductor, treat it as
    exposed to CVE-2026-103409: isolate or upgrade (fixed in 7.0.5 7.1.7 7.2.3).

(That output is from a local mock server reproducing the documented marker layout - the real thing only you can check on your network.)


Remediation and Hardening

The advisory publishes no workarounds: the fix is 7.0.5, 7.1.7, or 7.2.3, and every one of the seventeen CVEs is closed by moving to a fixed release. Sequencing matters - upgrade Conductors first, since CVE-2026-103406 gives unauthenticated root on the box that controls the fleet, and a compromised Conductor makes every downstream router’s trust story moot.

Exposure reduction worth doing regardless, because it removes the delivery paths rather than the bugs:

  • DHCP snooping on switching infrastructure: drop server replies from untrusted ports. This kills the delivery vector for CVE-2026-103408 and CVE-2026-103411 in one move, and the same rule base catches rogue responders on user VLANs.
  • Isolate the staging process. Un-onboarded routers are, per the advisory itself, exploitable until they are onboarded. Stage on an isolated VLAN (or bench), upgrade the ISO first if the image predates the fixed releases, and audit for forgotten boxes with 03_ssr_exposure_audit.sh.
  • Treat Conductor reachability as critical surface. It is a 9.8 unauthenticated command-injection target in this batch; it should be reachable from management networks only.
  • Watch the certificate store. CVE-2026-103407 reads, overwrites, and deletes certificate and key files through the REST API. If your fleet keys rotate on a schedule, a rotation event you did not schedule is a signal.
  • Do not hand out low-privilege access casually. The post-auth kit in this advisory (symlink overwrite as root, PCLI cache execution, two AccessManager command injections) means a “read-only” operator account is a step away from root.

Closing Thoughts

There is a pattern worth naming in this advisory. The two criticals both sit on the provisioning path - the phase where a network appliance is supposed to be reachable, because it is waiting for someone to configure it. The QuickStart flow assumes a friendly staging LAN; the Salt join assumes the minion ID is a label, not input. Every convenience that makes zero-touch deployment easy widens the window where the box is trusted before it has proven anything.

Batches like this one also read as a maturity signal in the other direction: seventeen findings, published together, with a clean version matrix and no ambiguity about the fix. If you operate SSR or Mist WAN Edge, the decision is unusually easy this month. Patch the Conductors, then the routers, and while the boxes reboot, spend ten minutes making sure nothing on your staging VLANs is still living in its unguarded first day.


SOURCES

Tags

Account-Takeover Agentic-AI AI Gateway android Android Android-Adb Android-apktool Android-Avd Android-Studio Anti-Bot API-Security Authentication Automotive Backslash-Breakout Baseband Bot-Detection Browser-Automation Browser-Fingerprinting Buffer-Overflow C2 Cache-Key-Collision Camoufox CAN-Bus CAPTCHA Chrome Cloudflare Command-Injection Container-Escape Cross-Site-Scripting Cryptography Cudy CWE-121 CWE-122 CWE-125 CWE-1333 CWE-23 CWE-269 CWE-288 CWE-290 CWE-347 CWE-384 CWE-706 CWE-798 CWE-862 CWE-89 CWE-926 CWE-94 Data-Scraping Denial-of-Service Diagnostics Elixir Embedded-Systems Exploit FastGPT Firmware Frida Geolocation GooglePlay Hardware Heap-Overflow Hi-Browser html-sanitize-ex HTTP2 Hugging-Face Identity-Confusion Information Security Integer-Overflow IoT JNI JWT Lexer-Differential Linux Linux-Kernel LiteLLM llama-cpp LLaMA-Factory LLM LwM2M Machine-Learning MCP Measurement MediaTek Memory Disclosure MindsDB Missing-Authorization mitmproxy Mobile-Security MQTT Network-Analysis Networking OAuth OAuth2 OBD2 OIDC OpenID-Connect Out-of-Bounds Page-Cache Patchright Path-Traversal Penetration Testing pgAdmin PHP phpIPAM Playwright PostgreSQL Privilege-Escalation Prompt-Injection Python Race-Condition RCE ReDoS Reverse Engineering Reverse-Engineering Router Ruby Samsung-Bixby Samsung-Exynos SD-WAN Security Security-Research Session Hijacking Session-Hijacking SiYuan SMS Snapchat SNMP Speech-Recognition SQL-Injection SSD SSL-Pinning STIG-Manager Supply-Chain TECNO Tenda Traefik UC-Browser UDS Vulnerability Web Applications Web Scraping Web-Crawling Web-Scraping Web-Security WebGPU Websocket WeChat Wi-Fi Zammad Zephyr Zero-Day