Dell Secure Connect Gateway (SCG) 5.0 versions prior to 5.36.00.16 (appliance) and 5.36.00.00 (application) contain a vulnerability due to the use of hard-coded credentials. This flaw allows an unauthenticated remote attacker to potentially gain unauthorized access to the system. The vulnerability is identified as CWE-798 and has a high severity rating with a CVSS score of 7.7.
Dell Secure Connect Gateway (SCG) 5.0 Application versions prior to 5.36.00.00 contain an OS Command Injection vulnerability (CWE-78). This vulnerability allows an unauthenticated remote attacker to potentially execute arbitrary OS commands. The vulnerability has a high severity with a CVSS score of 7.3. No patch or remediation details are currently provided by the vendor.
In the Linux kernel, the following vulnerability has been resolved: HID: nintendo: fix out-of-bounds read in joycon_ctlr_read_handler() joycon_ctlr_read_handler() casts an incoming HID input report to struct joycon_input_report and parses it, guarding the cast only with a 12-byte length check: if (size >= 12) /* make sure it contains the input report */ joycon_parse_report(ctlr, (struct joycon_input_report *)data); struct joycon_input_report is 49 bytes: a 13-byte header followed by a union whose IMU arm is 36 bytes. For an IMU report joycon_parse_report() -> joycon_parse_imu_report() walks that union (struct offsets 13..48), so a report of exactly 12 bytes with data[0] == JC_INPUT_IMU_DATA passes the guard yet is read up to 37 bytes past its declared length. The over-read bytes are decoded into accelerometer/gyroscope values and forwarded to userspace through the "(IMU)" input device, leaking driver-internal memory. data[0] and size are fully controlled by a malicious or spoofed Joy-Con/Pro Controller. Receive buffers are sized to the maximum report length, so this is an over-read within the allocation rather than a slab OOB, but the decoded bytes still reach userspace. The sibling subcmd path in joycon_ctlr_handle_event() already bounds the same cast correctly: if (size < sizeof(struct joycon_input_report) || data[0] != JC_INPUT_SUBCMD_REPLY) break; Use the same sizeof(struct joycon_input_report) bound here.
n8n before 1.123.73, 2.35.4, and 2.36.2 contains a credential exposure vulnerability in the Strapi, SeaTable, and Mailcheck nodes. These nodes send their decrypted credentials to the authentication endpoint via the raw legacy HTTP helper outside any error handling, causing the plaintext secret to be persisted in execution error data. Any authenticated user can read the plaintext secret from their own execution through the REST API, bypassing the blank-value redaction enforced by the credentials API.
This update for hauler fixes the following issues:
Changes in hauler:
- update to 2.1.0 (bsc#1265425, CVE-2026-41888):
* `v2.1.0` is a **minor** release built on the containerd-
native foundation laid down in `v2.0.0`. The headline is that
`hauler store sync` and `hauler store add` are now fully
concurrent, with signature verification pinned to digests and
running in parallel too. Alongside that, this release adds an
audit trail, a store integrity checker, store-to-manifest
generation, private/insecure registry support across every
pull path, and a set of fixes for containerd imports, chunked
hauls, and Docker Hub reference handling.
* **Notable dependency bumps:** Go → **1.26.6**;
`containerd/v2` → 2.3.4; `sigstore/cosign/v3` → 3.1.3;
`sigstore/sigstore` → 1.10.9; `go-containerregistry` →
0.22.0; `helm/v4` → 4.2.4; `k8s.io` libs (apimachinery, api,
client-go) → 0.37.0; `logrus` → 1.10.2; `docker/go-metrics` →
0.1.0; `sigstore/rekor` → 1.5.4 (CVE resolution); plus
`x/mod` and `go-isatty`.
- update to 2.0.3 (bsc#1276124,
CVE-2026-72817,CVE-2026-72815,CVE-2026-72816):
* Bump k8s.io/apimachinery from 0.36.2 to 0.36.3 (backport
#688)
* Bump oras.land/oras-go/v2 from 2.6.1 to 2.6.2 in the
go_modules group across 1 directory (backport #691)
* fix for homebrew macOS binary quarantine (backport #690)
* fix: process Helm deps before --add-images discovery
(backport #703)
* update hauler store remove to handle registry reference as
part of string (backport #705)
* fixed vuln for golang grpc
n8n versions before 1.123.73, 2.35.4, and 2.36.2 contain an expression sandbox escape in the $fromAI handler. $fromAI resolved a caller-supplied placeholder name without requiring it to be an own property and admitted reserved keys; against a primitive input value it returned a live host-prototype reference. An attacker with workflow-build privilege can walk the prototype chain to the Function constructor and compile/execute arbitrary code in the main n8n process, leading to remote code execution.
Red Hat OpenShift Container Platform 4.20.36 includes security updates addressing two vulnerabilities: a bypass vulnerability related to /etc/passwd injection via the HOME environment variable (CVE-2026-15809) in the cri-o component, and a denial of service vulnerability via crafted JSON Web Encryption objects (CVE-2026-34986) in the go-jose library. These issues are rated as important by Red Hat Product Security. Users of OpenShift Container Platform 4.20 are advised to upgrade to the updated packages and images provided in this release to mitigate these vulnerabilities.
Red Hat OpenShift Container Platform is Red Hat's cloud computing Kubernetes application platform solution designed for on-premise or private cloud deployments.
This advisory contains the container images for Red Hat OpenShift Container Platform 4.20.36. See the following advisory for the RPM packages for this release:
https://access.redhat.com/errata/RHSA-2026:60444
Space precludes documenting all of the container images in this advisory. See the following Release Notes documentation, which will be updated shortly for this release, for details about these changes:
https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/release_notes/
Red Hat OpenShift Container Platform 4.20.36 includes security updates addressing multiple denial of service (DoS) vulnerabilities in components such as brace-expansion, js-yaml, and Go HTTP/2. These vulnerabilities could allow an attacker to exhaust memory or cause service disruption via malformed inputs. Users of OpenShift Container Platform 4.20 are advised to upgrade to the updated packages and container images provided in this release to mitigate these issues.
CVE-2026-82346 is a high-severity vulnerability in HP ImageDiags prior to version 5.0.0.36. It involves the creation of temporary files in directories with insecure permissions, potentially allowing a local attacker to escalate privileges due to insufficient access controls. The vulnerability requires local access and user interaction to exploit. No official patch or remediation guidance has been provided yet.
URI versions before 5.36 for Perl encode non-NFC host names to non-standard punycode labels via missing normalization in nameprep.
nameprep lowercases each host label but performs no Unicode normalization. IDNA requires a label to be normalized to Form C before it is encoded (RFC 5891), so a label that is not already in NFC is encoded to a different A-label than its normalized form. A label built from the precomposed Devanagari sequence U+0958 U+093E encodes to xn--72b5c without normalization but to xn--11b2fg after NFC normalization, and xn--72b5c does not round-trip back to the original label.
Any caller that reads host() from a URI built from untrusted input and uses it for a security decision (an allow or deny list, an SSRF filter, deduplication, a cache key) sees the non-standard label, while a client that fetches the same URL resolves the NFC form, so the check and the fetch can disagree about the host.
openssl_encrypt (pip: openssl-encrypt) versions 1.4.8 and earlier fail to validate the 36-bit STREAMINFO total_samples field of FLAC files before using it to size an allocation (np.random.randint(size=(total_samples, channels))). A ~50-byte crafted FLAC file declaring ~100 million samples causes a multi-gigabyte memory allocation, leading to out-of-memory denial of service during 'decrypt --stego-extract'. The issue is fixed in 1.4.9; both the 1.4.x and 1.5.x lines are affected.
disconf 2.6.36 has an incorrect access control vulnerability where certain config-fetching API endpoints are accessible without authentication. This allows any anonymous attacker to read all configuration items and files managed by the config center. The vulnerability affects the /api/config/item, /api/config/file, /api/config/list, and /api/config/simple/list endpoints due to explicit whitelisting in the LoginInterceptor. The CVSS score is 9.8, indicating a critical severity level.
CVE-2026-77775 is a Server-Side Request Forgery (SSRF) vulnerability in Headroom Labs' Headroom product. The vulnerability arises because the LLM proxy accepts a client-supplied x-headroom-base-url header without properly restricting the destination URL. This allows attackers to make requests to internal services, including cloud metadata endpoints, and receive their responses. The default deployment configuration exposes these routes without authentication, increasing the risk of exploitation. The vulnerability affects versions prior to 0.36.1 and has a high severity score of 8.6.
Wekan is open source kanban built with Meteor. From 8.36 until 9.74, the outgoing webhook Integration URL validator in models/integrations.js checked only the literal URL.hostname against regular expressions, so DNS names such as 169-254-169-254.nip.io passed that first-line check. The delivery path's fetchSafe guard already blocked the reported IPv4 destination, but its separate IPv4-only resolver and duplicated blocklist created inconsistent all-address-family enforcement and drift risk between input-time and connection-time validation. Version 9.74 makes server/lib/ssrfGuard.js resolve all addresses with `dns.lookup({ all: true })`, validate every result through the shared isIpBlocked logic, pin the connection, and block redirects. This issue is fixed in version 9.74.
## Summary
Vikunja's `web.Auth` interface (`pkg/web/web.go`, single method `GetID() int64`) is satisfied by BOTH `*user.User` and `*models.LinkSharing`. A link-share's `GetID()` returns the **raw positive** `share.ID` (`pkg/models/link_sharing.go:83-85`), which lives in the same positive autoincrement ID space as `users.id`. The safe negated form `getUserID() = share.ID * -1` (`link_sharing.go:126-128`) exists but is NOT used at three permission sinks. As a result, a link-share principal with id `N` — which should have zero authority over teams or bot users — is treated as the *user* whose `users.id == N` at three permission checks that lack the `a.(*LinkSharing)` guard their sibling methods have. This is the same principal-type-confusion class as CVE-2026-68581 (GHSA-vvcv-vpph-h844), but at three code paths that advisory/fix never touched.
## Root Cause
`web.Auth` is a one-method interface (`GetID() int64`). `*LinkSharing.GetID()` returns the raw positive share id. Three permission methods compare this raw id directly and omit the link-share type guard used elsewhere in the same files:
1. **`TeamMember.CanDelete`** (`pkg/models/team_members_permissions.go:31-40`): the self-removal fast path `if u.ID == a.GetID() { return true }` (:36) executes **before** `IsAdmin`. `IsAdmin` (:48-51) is the ONLY place that rejects link shares (`if _, is := a.(*LinkSharing); is { return false }`, :50) — and it is never reached when the fast path returns true.
2. **`BotUser.isOwner`** (`pkg/models/bot_users_permissions.go:47-56`): `return u.BotOwnerID == a.GetID()` (:55), used by `CanRead`/`CanUpdate`/`CanDelete` (:36-45). Unlike `CanCreate` (:27-30) which type-asserts `a.(*user.User)`, these three paths have no principal guard.
3. **`Team.CanRead`** (`pkg/models/teams_permissions.go:68-78`): matches membership on `And("user_id = ?", a.GetID())` (:76) with no link-share guard, unlike sibling `IsAdmin` (:45-49, guard at :47).
Link-share JWTs reach these routes: `SetupTokenMiddleware` validates the signature only, `GetAuthFromClaims` returns `*models.LinkSharing`, and the `/user`/`/teams` route groups add no link-share rejection. Link sharing is enabled by default (`config.go` `ServiceEnableLinkSharing.setDefault(true)`).
## Impact
A link-share principal (obtainable from any public share link, or self-registered via a share on the attacker's own project) whose id `N` collides with a victim's `users.id == N` can, without being that user or any user:
- **Integrity (I:H):** remove the victim from any team they belong to (`DELETE /api/v1/teams/{T}/members/{username}`) → revokes all project permissions the victim inherited through that team.
- **Availability/Integrity (A:H, I:H):** enumerate the victim's bot users (`GET /api/v1/user/bots` → `bot_owner_id = a.GetID()`), then disable/rename or **permanently delete** them (`DELETE /api/v1/user/bots/{id}` → `DeleteUser`), destroying data owned solely by those bots.
- **Confidentiality (C:H):** read the roster + metadata (name, description, full member list) of any team the colliding user belongs to (`GET /api/v1/teams/{T}`), plus read bot-user records via `isOwner`-gated reads.
## Attack Chain
### Sink 1 — TeamMember.CanDelete (integrity)
1. **Entry:** `POST /api/v1/shares/{hash}/auth` → link-share JWT with `id = N`. **Guard:** JWT middleware — signature only. **Bypass proof:** `GetAuthFromClaims` returns `*models.LinkSharing`; no route-group link-share rejection on the `/teams` group.
2. **Action:** `DELETE /api/v1/teams/{T}/members/{usernameOfUserN}` with the link-share bearer, targeting a team `T` (≥2 members) that user `N` belongs to. **Guard:** `CanDelete` → `GetUserByUsername(tm.Username)` returns user N, then `u.ID == a.GetID()` (`team_members_permissions.go:36`). **Bypass proof:** `a.GetID()` returns `N` (raw positive `share.ID`, `link_sharing.go:84`) == user N's id → `true`. No `a.(*LinkSharing)` check on this branch (only `IsAdmin` at :50 has it, never reached).
3. **Sink:** `Delete` (`team_members.go`) removes user N from team T (last-member check passes when team has ≥2 members). **Impact:** victim loses all project access inherited through team T.
### Sink 2 — BotUser.isOwner (bot takeover / destruction)
1. **Entry:** link-share JWT id N (as above). **Guard:** signature-only; `/user` group adds no link-share reject.
2. **Enumerate:** `GET /api/v1/user/bots` → `ReadAll` runs `Where("bot_owner_id = ?", a.GetID())` = bots owned by user N. **Bypass proof:** `a.GetID()` = N; returns victim's bot ids self-contained (removes the id-guessing barrier).
3. **Sink:** `DELETE /api/v1/user/bots/{botId}` → `CanDelete` → `isOwner` → `u.BotOwnerID == a.GetID()` (`bot_users_permissions.go:55`) → true; `Delete` calls `DeleteUser`. **Bypass proof:** no `a.(*LinkSharing)` guard here (Create-only, :28). **Impact:** disable/rename/permanently delete victim's bot automation identities.
### Sink 3 — Team.CanRead (info disclosure)
1. **Entry:** link-share JWT id N. **Guard:** signature-onl
CVE-2026-14334 is a high-severity cross-site scripting (XSS) vulnerability in the Booking calendar, Appointment Booking System WordPress plugin. Versions from 3.2.18 through 3.2.36 improperly sanitize uploaded SVG files, allowing unauthenticated attackers to upload malicious SVGs that bypass script-stripping. This enables execution of arbitrary JavaScript in the context of an administrator reviewing the booking, potentially compromising confidentiality, integrity, and availability.
uniget is a universal installer and updater for (container) tools. Prior to 0.27.6, the hooks edit command in cmd/uniget/hooks.go concatenates an unvalidated hook filename with the selected hooks directory, allowing parent-directory components to escape that directory. The resulting path is passed to the configured editor, which can access or modify files outside the hooks directory with the privileges of the uniget process account. This issue is fixed in version 0.27.6.