CVE
CVE-2026-111423, CVE-2026-71199, CVE-2026-107884, CVE-2026-118380, CVE-2026-112322, CVE-2026-112323, CVE-2026-40355, CVE-2026-40356, CVE-2026-71200, CVE-2026-107364, CVE-2026-107708, CVE-2026-107778, CVE-2026-112314, CVE-2026-112315, CVE-2026-112316, CVE-2026-112317, CVE-2026-112318, CVE-2026-112319, CVE-2026-112320, CVE-2026-112321, CVE-2026-119079, CVE-2026-108262, CVE-2026-75598, CVE-2026-119078, CVE-2026-124077, CVE-2026-102657, CVE-2026-102289, CVE-2026-119446, CVE-2026-120730, CVE-2026-120999, CVE-2026-109799, CVE-2026-120013, CVE-2026-120012, CVE-2026-88984, CVE-2026-88985, CVE-2026-88982, CVE-2026-88983, CVE-2026-88986, CVE-2026-125704, CVE-2026-125703
CWE
CWE-78, CWE-347, CWE-22, CWE-863, CWE-384, CWE-416, CWE-327, CWE-532
Affected Surface
- MIT Kerberos 5 (`krb5`) versions `< 1.22.3` (`MITKRB5-SA-2026-001`, 21 CVEs including `CVE-2026-111423` in `>= 1.21`, `CVE-2026-71199` in `>= 1.14`, `CVE-2026-107884` in `>= 1.15`, `CVE-2026-118380` in `>= 1.4`, and `CVE-2026-112322` / `CVE-2026-112323` in `>= 1.5.2`)
- Python / ISP looking-glass platform `thatmattlove/hyperglass` versions `v2.0.0` through `v2.0.4` (`hyperglass/execution/drivers/_construct.py`, issue `#383` and PR `#382`) and self-hosted PaaS panel `Dokploy/dokploy` through `v0.31.0` (PRs `#5907`, `#5910`, `#5913` through `#5917` merged to `canary` on 9 November 2026)
- Go `github.com/ddev/ddev` versions `< 1.25.4` (`CVE-2026-108262` / `GHSA-9hq4-hm3j-jmph`, CVSS 8.8 High), Maven `com.gradleup.shadow:com.gradleup.shadow.gradle.plugin` versions `< 9.6.0` (`CVE-2026-75598` / `GHSA-rr8v-fxxf-c986`, CVSS 8.1 High), and `commons-codec:commons-codec` versions `>= 1.16.0, < 1.23.0` (`CVE-2026-119078`, `CVE-2026-124077`)
- Elixir `nerves-hub/nerves_hub_web` (`CVE-2026-119446` CVSS 9.4 Critical, `CVE-2026-120730` CVSS 8.6 High, `CVE-2026-120999` CVSS 7.4 High), Go `github.com/esm-dev/esm.sh/web` `< 0.2.0` (`CVE-2026-102657` / `GHSA-g3c2-rjq2-c763`, CVSS 7.5 High), PyPI/crates.io `zizmor` `1.27.0` (`CVE-2026-102289` / `GHSA-f42p-wjw5-97qh`), PyPI `sap-cloud-sdk` `< 0.50.0` (`CVE-2026-109799` / `GHSA-93m8-crj2-v997`, `CVE-2026-120013` / `GHSA-28c8-457r-4cf6`) and npm `@sap-ai-sdk/*` (`CVE-2026-120012`), `github.com/kubeflow/pipelines` (`CVE-2026-88984`, `CVE-2026-88985`, `CVE-2026-88982`, `CVE-2026-88983`, `CVE-2026-88986`), GStreamer `< 1.28.9` (`CVE-2026-125704`, `CVE-2026-125703`), and Vim `< 9.2.1308` / `< 9.2.1309` (`GHSA-p99j-mfjp-r4cg`, `GHSA-26qr-jvfj-hcwm`)
TL;DR
Between late 9 November and 10 November 2026, MIT Kerberos, oss-security, the Erlang Ecosystem Foundation, NVD, and the GitHub Advisory Database published 39 vulnerabilities across core authentication libraries, ISP looking-glass servers, container management panels, and developer tooling:
- MIT Kerberos 5 (
krb5)1.22.3patches 21 CVEs (MITKRB5-SA-2026-001,oss-security 2026/11/09/38):- Forged PAC and CAMMAC authorization data (
CVE-2026-111423andCVE-2026-71199): Inkrb5 >= 1.21,verify_pac_checksums()(src/lib/krb5/krb/pac.c) calledverify_checksum(..., KRB5_PAC_SERVER_CHECKSUM, ...)without checking its return coderet, andkrb5_pac_verify_ext()verified checksums before callingk5_pac_validate_client(), marking a PAC as verified even when the server checksum or client principal failed (CVE-2026-111423). Inkrb5 >= 1.14,cammac_check_kdcver()andcheck_svcver()accepted unkeyed checksums in CAMMAC verifiers (CVE-2026-71199). Combined with a KDC loophole whereis_kdc_issued_authdatum()did not filter KDC-issued authdata nested insideAD-IF-RELEVANTcontainers (commit8137e349a9c1), an authenticated client could request service tickets carrying forged PAC or CAMMAC authorization data. libgssrpcRPCSEC_GSSencryption downgrade (CVE-2026-118380) andkadmindlockdown_keysbypass (CVE-2026-107884): Inlibgssrpc(>= 1.4),svcauth_gss_accept_sec_context()stored the unverifiedgc->gc_svcservice value sent during context initialization and never updatedgd->sec.svcfrom the verified per-call credential, allowing an active on-path network attacker to trickkadmindinto returningipropincremental database replication replies in cleartext (CVE-2026-118380). Inkadmind(>= 1.15),schpw_util_wrapper()failed to checkKRB5_KDB_LOCKDOWN_KEYSduring password-change requests (CVE-2026-107884). Release1.22.3also disables the legacyAUTH_GSSAPIRPC flavor by default (CVE-2026-112322,CVE-2026-112323) and fixes 15 KDC/kadmind/GSS-API DoS and memory-safety CVEs.
- Forged PAC and CAMMAC authorization data (
hyperglass(<= v2.0.4) pre-auth OS command injection across 36 ISP and hosting looking-glass servers (oss-security 2026/11/10/7,10/8,thatmattlove/hyperglass#383):Construct.format()inhyperglass/execution/drivers/_construct.pyinterpolates the unauthenticatedPOST /api/queryqueryTargetdirectly into router command templates viacommand.format(target=self.target, mask=mask, **attrs)while the defaultcondition="*"validator matches any non-empty line (re.compile(".+").match()). On shell-backed platforms (frr,bird,openbgpd,tnsr), Netmiko sends the string to a POSIX shell (linux_ssh), allowing unauthenticated remote command execution via"/;/$()in BGP AS-path queries or IPv6%scope IDs (fe80::1%;id). An internet-wide scan of 388 livehyperglassinstances confirmed command execution on 36 hosts across 20 ASNs (11 asroot).Dokployv0.31.0backtick database-password RCE andrm -rfcommand injection (oss-security 2026/11/10/2, PRs#5907,#5910,#5913through#5917): InDokploythroughv0.31.0,DATABASE_PASSWORD_REGEX(packages/server/src/db/schema/utils.ts) blocked$,!, quotes,\,/, and spaces, but permitted backticks (`) and; | & ( ) >, whiledatabaseUserhad no character filter (z.string().min(1)). Because the Postgres, MySQL, MariaDB, and MongochangePasswordrouters placed the password inside single quotes nested within a double-quoteddocker execshell string, bash evaluated backtick command substitutions asuid=0(root)inside the Dokploy container holding/var/run/docker.sock.DDEV1.25.4(CVE-2026-108262, CVSS 8.8), GradleShadow9.6.0(CVE-2026-75598, CVSS 8.1), Apache Commons Codec1.23.0(CVE-2026-119078,CVE-2026-124077),NervesHub(CVE-2026-119446, CVSS 9.4),esm.sh0.2.0(CVE-2026-102657),zizmor1.28.0(CVE-2026-102289), SAP Cloud SDK (CVE-2026-109799,CVE-2026-120013), GStreamer (CVE-2026-125704), and Vim9.2.1308/1309:DDEV< 1.25.4rebased absolute tar symlink targets underdestduring validation (filepath.Join(dest, "/etc")) before callingos.Symlink(file.Linkname, ...)with the raw host-absolute path; GradleShadow< 9.6.0copied upstream dependency ZIP entry names containing../verbatim into fat JARs; and Apache Commons Codec< 1.23.0documented aBlake3.doFinalize()KDF pattern that derived identical keys on consecutive calls becausedoFinalize()does not advance internal state.
Affected packages and components
| Ecosystem | Package / Project | CVE / Advisory | Severity | Affected versions | Fixed version |
|---|---|---|---|---|---|
| C / Linux | MIT Kerberos 5 (krb5) | CVE-2026-111423, CVE-2026-71199, CVE-2026-107884, CVE-2026-118380, CVE-2026-112322, CVE-2026-112323, plus 15 DoS CVEs (MITKRB5-SA-2026-001) | High / Medium | < 1.22.3 (111423 in >= 1.21; 71199 in >= 1.14; 107884 in >= 1.15; 118380 in >= 1.4) | 1.22.3 |
| Python | thatmattlove/hyperglass | Issue #383 / PR #382 (oss-security 2026/11/10/8) | Critical (exploited across 36 ISP/ASN hosts) | v2.0.0 through v2.0.4 | Apply PR #382 (shlex.quote + control-char filter) |
| Node.js / Docker | Dokploy/dokploy | oss-security 2026/11/10/2 (PRs #5907, #5910, #5913..#5917) | Critical (9.9 vendor vector) | <= v0.31.0 | canary commits 1c862c9cb042, 903b4ee4d1e0, c819a33ea527, 1e21508c54c6, fd61ce9ab0b2 |
| Go | github.com/ddev/ddev | CVE-2026-108262 (GHSA-9hq4-hm3j-jmph, incomplete fix for CVE-2026-32885) | High (8.8) | < 1.25.4 | 1.25.4 |
| Maven | com.gradleup.shadow:com.gradleup.shadow.gradle.plugin | CVE-2026-75598 (GHSA-rr8v-fxxf-c986) | High (8.1) | < 9.6.0 | 9.6.0 |
| Maven | commons-codec:commons-codec | CVE-2026-119078, CVE-2026-124077 | Important / Low | >= 1.16.0, < 1.23.0 (119078); >= 1.22.0, < 1.23.0 (124077) | 1.23.0 (callers must also replace repeated Blake3.doFinalize() calls) |
| Elixir | nerves-hub/nerves_hub_web | CVE-2026-119446, CVE-2026-120730, CVE-2026-120999, CVE-2026-120295, CVE-2026-120286, CVE-2026-120997 | Critical (9.4) / High (8.6, 7.4, 7.1) | Prior to commits 3131f1701194, c367d7d17d07, 54dbf93c3bd3 | Commits 3131f1701194, c367d7d17d07, 54dbf93c3bd3, 1bc8be875ab6 |
| Go | github.com/esm-dev/esm.sh/web | CVE-2026-102657 (GHSA-g3c2-rjq2-c763) | High (7.5) | < 0.2.0 (< v137_7) | 0.2.0 (v137_7) |
| PyPI / crates.io | zizmor (zizmorcore/zizmor) | CVE-2026-102289 (GHSA-f42p-wjw5-97qh) | High | 1.27.0 | 1.28.0 |
| PyPI / npm | sap-cloud-sdk (SAP/cloud-sdk-python), @sap-ai-sdk/* (SAP/ai-sdk-js) | CVE-2026-109799 (GHSA-93m8-crj2-v997), CVE-2026-120013 (GHSA-28c8-457r-4cf6), CVE-2026-120012 (GHSA-8g7j-49xg-8wf3) | High (7.5) | sap-cloud-sdk < 0.50.0 (120013) / prior to 0.65.4 | >= 0.50.0 / 0.65.4 |
| Go | github.com/kubeflow/pipelines | CVE-2026-88984 (GHSA-ghgh-57qv-h687), CVE-2026-88985 (GHSA-r4mx-2gr2-8277), CVE-2026-88982, CVE-2026-88983, CVE-2026-88986 | High / Medium (6.5) | < 2.16.1 (88984), < 2.17.0 (88985, 88983), < 2.18.0 (88982) | 2.18.0 |
| C | GStreamer (gstreamer) and Vim (vim/vim) | CVE-2026-125704 (SA-2026-0028), CVE-2026-125703; Vim GHSA-p99j-mfjp-r4cg, GHSA-26qr-jvfj-hcwm | High (7.5) / Medium | GStreamer < 1.28.9 (MR !11583); Vim < 9.2.1308 / < 9.2.1309 | GStreamer MR !11583; Vim 9.2.1308 & 9.2.1309 |
Technical analysis
1. MIT Kerberos 5 1.22.3 (MITKRB5-SA-2026-001): PAC checksum bypass (CVE-2026-111423), unkeyed CAMMAC verifiers (CVE-2026-71199), and RPCSEC_GSS downgrade (CVE-2026-118380)
MIT krb5-1.22.3 fixes 21 CVEs uncovered during LLM-assisted security audits by researchers from Ada Logics, Anthropic, AISLE, AWS Security, Deutsche Bank, Red Hat, and Talence Security. Three flaws affect authorization data and RPC transport integrity:
- Unchecked PAC server checksum result and premature
pac->verifiedflag (CVE-2026-111423, commitffb49b20a30c): Insrc/lib/krb5/krb/pac.c,verify_pac_checksums()computedret = verify_checksum(context, pac, KRB5_PAC_SERVER_CHECKSUM, server, KRB5_KEYUSAGE_APP_DATA_CKSUM, ©)and then fell straight through without checkingif (ret) goto cleanup;. WhenprivsvrwasNULLorexpect_full_checksumwasFALSE, the function reachedpac->verified = TRUE; return 0;even when the server checksum failed. Furthermore,krb5_pac_verify_ext()calledverify_pac_checksums()(which setpac->verified = TRUE) before callingk5_pac_validate_client():--- a/src/lib/krb5/krb/pac.c +++ b/src/lib/krb5/krb/pac.c @@ -538,6 +538,8 @@ verify_pac_checksums(krb5_context context, const krb5_pac pac, /* Verify the server checksum over the PAC copy. */ ret = verify_checksum(context, pac, KRB5_PAC_SERVER_CHECKSUM, server, KRB5_KEYUSAGE_APP_DATA_CKSUM, ©); + if (ret) + goto cleanup; } - Unkeyed CAMMAC checksums (
CVE-2026-71199, commitd97f92d1afd8) and nestedAD-IF-RELEVANTKDC authdata smuggling (commit8137e349a9c1): When the KDC filtered client-supplied authorization data inis_kdc_issued_authdatum()(src/kdc/kdc_authdata.c), it inspected only one level ofKRB5_AUTHDATA_IF_RELEVANT, allowing a client to smuggle forgedKRB5_AUTHDATA_WIN2K_PACorKRB5_AUTHDATA_CAMMACelements inside a nestedAD-IF-RELEVANTcontainer wherekrb5_find_authdata()still located them. Meanwhile, neithercammac_check_kdcver()(src/kdc/cammac.c) norcheck_svcver()(src/lib/krb5/krb/cammac_util.c) checkedkrb5_c_is_keyed_cksum(ver->checksum.checksum_type), allowing an authenticated client to forge CAMMAC verifiers using an unkeyed hash (such as CRC32 or MD5) and spoof authentication indicators. libgssrpcRPCSEC_GSSunverified service level (CVE-2026-118380, commit2cda39a6c0a2): DuringRPCSEC_GSS_INIT, therpc_gss_credheader is not covered by the context verifier. However,svcauth_gss_accept_sec_context()insrc/lib/rpc/svc_auth_gss.csavedgd->sec.svc = gc->gc_svcfrom that initial unverified packet and never updatedgd->sec.svcfrom the integrity-protectedgc->gc_svcfield on subsequentRPCSEC_GSS_DATAcalls. An on-path attacker between a primarykadmindand a replica KDC could modifygc_svctoRPCSEC_GSS_SVC_NONEduringRPCSEC_GSS_INIT, causingkadmindto transmitipropincremental KDB replication replies in plaintext.
2. hyperglass (<= v2.0.4) pre-auth OS command injection and Dokploy v0.31.0 backtick host RCE
In thatmattlove/hyperglass (v2.0.0 through v2.0.4, thatmattlove/hyperglass#383 and PR #382), the unauthenticated POST /api/query endpoint passes queryTarget to Construct.format() in hyperglass/execution/drivers/_construct.py:
--- a/hyperglass/execution/drivers/_construct.py
+++ b/hyperglass/execution/drivers/_construct.py
@@ -110,7 +111,12 @@ def format(self, command: str) -> str:
except ValueError:
pass
- return command.format(target=self.target, mask=mask, **attrs)
+ fmt = {"target": self.target, "mask": mask, **attrs}
+
+ if self.device.platform in SHELL_PLATFORMS:
+ return " ".join(shlex.quote(word.format(**fmt)) for word in shlex.split(command))
+
+ return command.format(**fmt)
Because built-in BGP AS-path and community directives use condition="*" (re.compile(".+").match()), any string without a leading newline passes validation. On FRR (vtysh -c "show bgp ipv4 unicast regexp {target}"), OpenBGPD (bgpctl show rib inet as {target}), TNSR, and BIRD (where Python’s ipaddress.ip_address("fe80::1%;id") accepts arbitrary shell commands after the IPv6 % zone delimiter and interpolates the raw target into ping -6 ... {target}), Netmiko executes the formatted string inside bash (device_type="linux_ssh").
In Dokploy/dokploy (<= v0.31.0, oss-security 2026/11/10/2), DATABASE_PASSWORD_REGEX in packages/server/src/db/schema/utils.ts (lines 51-52) rejected $, !, ', ", \, /, and spaces, but allowed backticks (`) and ; | & ( ) >. In apps/dokploy/server/api/routers/postgres.ts (and mysql.ts, mariadb.ts, mongo.ts), changePassword interpolated password and unvalidated databaseUser inside a double-quoted bash string (commit 1c862c9cb042):
--- a/apps/dokploy/server/api/routers/postgres.ts
+++ b/apps/dokploy/server/api/routers/postgres.ts
@@ -446,7 +447,15 @@ export const postgresRouter = createTRPCRouter({
- const command = `docker exec ${container.Id} psql -U ${databaseUser} -d postgres -c "ALTER USER \\"${databaseUser}\\" WITH PASSWORD '${password}';"`;
+ const command = `docker exec ${container.Id} ${quote([
+ "psql",
+ "-U",
+ databaseUser,
+ "-d",
+ "postgres",
+ "-c",
+ `ALTER USER "${databaseUser}" WITH PASSWORD '${password}';`,
+ ])}`;
Because single quotes inside double quotes ("... '${password}' ...") do not suppress bash backtick command substitution, any organization member with service: ["create"] on a database could supply a backtick expression (or a semicolon in databaseUser) to execute commands as uid=0(root) inside the Dokploy server container that mounts the host’s /var/run/docker.sock. Six companion PRs merged to canary on 9 November (#5907, #5913 through #5917) also replace execAsync(\rm -rf ${path}`)withfsPromises.rm()inpackages/server/src/utils/filesystem/directory.ts (903b4ee4d1e0), lock down apiUpdateUser mass assignment (c819a33ea527), and enforce checkEnvironmentAccessandassertSshKeyInOrganization across tenants (1e21508c54c6, fd61ce9ab0b2`).
3. DDEV 1.25.4 (CVE-2026-108262), Gradle Shadow 9.6.0 (CVE-2026-75598), Apache Commons Codec 1.23.0 (CVE-2026-119078), NervesHub (CVE-2026-119446), esm.sh (CVE-2026-102657), zizmor 1.28.0 (CVE-2026-102289), and SAP Cloud SDK (CVE-2026-109799)
DDEV< 1.25.4absolute tar symlink escape (CVE-2026-108262/GHSA-9hq4-hm3j-jmph, CVSS 8.8 High, commit7034963403c5): WhenDDEV1.25.2patchedCVE-2026-32885inpkg/archive/archive.go(Untar), it validated absolute symlink targets by rebasing them intodest(if filepath.IsAbs(file.Linkname) { resolvedTarget = filepath.Join(dest, file.Linkname) }), which always remained insidedestunless it contained... Immediately after that check passed,Untarcalledos.Symlink(file.Linkname, fullPath)with the un-rebased host-absolute path (such as/etcor$HOME), allowing a subsequent archive entry to overwrite arbitrary host files through the symlink. Commit7034963403c5addsisArchiveAbsolutePath()and rejects any symlink target starting with/,\, orfilepath.IsAbs().- Gradle
Shadow< 9.6.0fat-JAR Zip Slip (CVE-2026-75598/GHSA-rr8v-fxxf-c986, CVSS 8.1 High, commit0c2744fcc050): Insrc/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/Utils.kt,zipEntry(name)constructedZipEntry(name)without checking for..path segments, propagating any../../../../entry from an upstream JAR into the output shadow JAR. Version9.6.0throws aGradleExceptionwhenevername.split('/', '\\').any { it == ".." }. - Apache Commons Codec
< 1.23.0statelessBlake3.doFinalize()KDF key reuse (CVE-2026-119078) andGitIdentifiersNUL collisions (CVE-2026-124077, commit87f6aa281883): Sincecommons-codec 1.16.0, the Javadoc onorg.apache.commons.codec.digest.Blake3stated thatdoFinalize(byte[])advanced the XOF output offset, and its KDF code example derived two distinct keys by callingkdf.doFinalize(key1); kdf.doFinalize(key2);on the sameBlake3instance. In reality,doFinalize()does not mutate theEngineState, sokey1andkey2receive identical bytes. Applications must request the combined byte length in a singledoFinalize(combinedLen)call and slice the returned array. NervesHubnerves_hub_webCLI session fixation (CVE-2026-119446, CVSS 9.4 Critical, commit3131f1701194) andOrgKey/Devicemass assignment (CVE-2026-120730, CVSS 8.6 High, commitc367d7d17d07): Innerves_hub_web, the CLI login flow placed the sessiontokenin the web confirmation URL, allowing an unauthenticated attacker who started a CLI login session to trick a signed-in user into confirming that URL and minting an API token for the victim’s account (CVE-2026-119446). Commit3131f1701194replaces URL-token confirmation with an 8-digitconfirmation_codetyped by the user.esm.sh< 0.2.0%2e%2efile read (CVE-2026-102657/GHSA-g3c2-rjq2-c763, commit468b6b2a4b4d),zizmor1.27.0cleartext token logging (CVE-2026-102289/GHSA-f42p-wjw5-97qh, commit0731e01706af), SAP Cloud SDK for Python (CVE-2026-109799,CVE-2026-120013), GStreamer (CVE-2026-125704, MR!11583), and Vim9.2.1308/1309:esm.sh’sweb.NewHandlerjoinedr.URL.Pathdirectly withs.config.AppDirafterServeMuxdecoded%2e%2esegments;zizmor 1.27.0derived#[derive(Debug)]onstruct GitHubToken(String)and printedGH_TOKEN/GITHUB_TOKENtostderrunder-v;SAP/cloud-sdk-python’sIASContextProviderdecodedapp_tid,sap_gtid, anduser_uuidfrom IAS JWTs without verifying the signature (CVE-2026-109799) andagent_memory.create_client(tenant=...)allowed../traversal across/etc/secrets/appfnd/hana-agent-memory/<tenant>/(CVE-2026-120013); GStreamer’sgstvalue.c(wrong_char:label) calledgst_buffer_unref(buffer)beforegst_buffer_unmap(buffer, &info)(CVE-2026-125704); and Vim< 9.2.1308trusted pre-created/tmp/vim-<uid>directories insocketserver_get_path()(GHSA-p99j-mfjp-r4cg, commita448e0c6bc45).
IOCs
hyperglassexploitation indicators:- HTTP
POST /api/queryrequests containing shell metacharacters (",;,`,$(...)), IPv6%scope-ID separators (fe80::1%;...), or embedded newlines (\n) insidequeryTarget. - Unexpected child processes spawned under the
hyperglassor router SSH user viavtysh -c,birdc,bgpctl, orping -6.
- HTTP
Dokployexploitation indicators:postgres.changePassword,mysql.changePassword,mariadb.changePassword, ormongo.changePasswordtRPC calls containing backticks (`) inpasswordor semicolons/shell metacharacters indatabaseUser.
krb5network and KDC indicators:- Service ticket requests containing nested
AD-IF-RELEVANT(type 1) authorization data containers wrappingAD-WIN2K-PAC(128) orAD-CAMMAC(96), orRPCSEC_GSS_INITpackets settinggc_svc = RPCSEC_GSS_SVC_NONEagainstkadmind.
- Service ticket requests containing nested
Detection and remediation
# 1. Check installed MIT Kerberos 5, GStreamer, Vim, and DDEV versions
krb5-config --version 2>/dev/null || true
gst-launch-1.0 --version 2>/dev/null || true
vim --version 2>/dev/null | head -n 2 || true
ddev --version 2>/dev/null || true
# 2. Audit Java / Kotlin codebases for repeated Blake3.doFinalize() calls (CVE-2026-119078) and Gradle Shadow < 9.6.0
rg -n 'doFinalize\s*\(' --glob '*.{java,kt}' 2>/dev/null
rg -n 'com\.gradleup\.shadow|commons-codec' pom.xml build.gradle* gradle/libs.versions.toml 2>/dev/null
# 3. Check Python, Go, and Rust manifests for hyperglass, sap-cloud-sdk, zizmor, esm.sh, and kubeflow/pipelines
rg -n 'hyperglass|sap-cloud-sdk|zizmor|esm\.sh|kubeflow/pipelines' \
pyproject.toml requirements*.txt uv.lock Cargo.lock go.mod 2>/dev/null
- Upgrade MIT
krb5to1.22.3on KDCs,kadmindservers, and GSS-API application servers: Upgrading the KDC to1.22.3blocks both fake CAMMAC (CVE-2026-71199) and nestedAD-IF-RELEVANTfake PAC ticket issuance; upgradingkadmindon the primary KDC also preventsRPCSEC_GSSipropdowngrade attacks (CVE-2026-118380) and disables legacyAUTH_GSSAPI(CVE-2026-112322,CVE-2026-112323). - Restrict or patch
hyperglass(<= v2.0.4) andDokploy(<= v0.31.0) immediately: On any internet-facinghyperglassinstance, apply PR#382(shlex.quoteonSHELL_PLATFORMSand^[^\x00-\x1f\x7f]+$onQueryTarget) and rotate all SSH keys and router credentials stored on thehyperglasshost if it was reachable from the internet. OnDokploy, deploy the 9 Novembercanarysecurity commits (1c862c9cb042throughfd61ce9ab0b2). - Update
DDEVto>= 1.25.4, GradleShadowto>= 9.6.0,zizmorto>= 1.28.0,esm.shto>= 0.2.0, and auditBlake3.doFinalize()callers: If CI workflows ranzizmor 1.27.0with-v/--verboseorRUST_LOG=debug, rotate anyGH_TOKEN,GITHUB_TOKEN, orZIZMOR_GITHUB_TOKENprinted to build logs. In Java applications usingorg.apache.commons.codec.digest.Blake3, replace consecutivedoFinalize()calls on the same instance with a singledoFinalize(totalBytes)call and split the output array.
Timeline
- 2026-07-14 to 2026-07-15:
thatmattlove/hyperglassPR#382and issue#383are opened documenting unescapedcommand.format()shell injection acrossfrr,bird,openbgpd, andtnsr. - 2026-11-05 to 2026-11-06: MIT Kerberos commits the 21 CVE fixes to the
krb5-1.22branch (d97f92d1afd8throughf5bee90a501d); SAP mergescloud-sdk-python0.65.3/0.65.4fixes. - 2026-11-08 (
20:20to21:59 UTC): Vim publishes9.2.1308(GHSA-p99j-mfjp-r4cg,/tmp/vim-<uid>socket directory hijack) and9.2.1309(GHSA-26qr-jvfj-hcwm,.splspell-file heap over-read) onoss-security. - 2026-11-09 (
16:57to23:54 UTC):Dokploymerges seven security PRs (#5907,#5910,#5913through#5917) tocanary; Apache announcesCVE-2026-119078andCVE-2026-124077for Commons Codec1.23.0; GitHub publishes reviewed advisories forGradle Shadow 9.6.0(CVE-2026-75598),zizmor 1.28.0(CVE-2026-102289),esm.sh 0.2.0(CVE-2026-102657),DDEV 1.25.4(CVE-2026-108262), andKubeflow Pipelines(CVE-2026-88982through88986); and MIT releaseskrb5-1.22.3(MITKRB5-SA-2026-001). - 2026-11-10 (
01:17to11:16 UTC): NVD andoss-securitypublish theDokployv0.31.0backtick RCE analysis (10/2), thehyperglass36-host / 20-ASN exploitation report (10/7and10/8), the SAP Cloud SDK advisories (CVE-2026-109799,CVE-2026-120013,CVE-2026-120012), theNervesHubadvisories (CVE-2026-119446,CVE-2026-120730,CVE-2026-120999), and GStreamerCVE-2026-125704.
From research to remediation
Check whether this pattern exists in your codebase
Turn this research into a remediation workflow. Scan dependencies and package manifests for similar supply-chain risk, then prioritize fixes with reachability context.
References
- MIT Kerberos Security Advisory MITKRB5-SA-2026-001 and oss-security announcement for krb5-1.22.3 (9 November 2026)
- krb5/krb5 commits ffb49b20a30c (CVE-2026-111423), d97f92d1afd8 (CVE-2026-71199), 8137e349a9c1 (nested AD-IF-RELEVANT), and 2cda39a6c0a2 (CVE-2026-118380)
- oss-security (10 November 2026) and thatmattlove/hyperglass Issue #383 / PR #382: Pre-auth OS command injection in hyperglass
- oss-security (10 November 2026) and Dokploy/dokploy PRs #5910 (1c862c9cb042) and #5907 (903b4ee4d1e0): Database password backtick RCE and rm -rf injection
- GitHub Advisories GHSA-9hq4-hm3j-jmph (DDEV CVE-2026-108262), GHSA-rr8v-fxxf-c986 (Gradle Shadow CVE-2026-75598), GHSA-g3c2-rjq2-c763 (esm.sh CVE-2026-102657), and GHSA-f42p-wjw5-97qh (zizmor CVE-2026-102289)
- oss-security (9 November 2026): Apache Commons Codec 1.23.0 advisories CVE-2026-119078 (Blake3 KDF reuse) and CVE-2026-124077 (GitIdentifiers NUL collision)
- Erlang Ecosystem Foundation Advisories CVE-2026-119446, CVE-2026-120730, and CVE-2026-120999 for nerves_hub_web and GStreamer SA-2026-0028 (CVE-2026-125704)