Total Alerts
296
Repos Monitored
14
Commits Tracked
10153
Commits Scanned
10153

High Confidence

20
victoriametrics/victoriametrics Denial of Service (Resource exhaustion) HIGH
The commit prevents a potential Denial of Service (memory/resource exhaustion) by capping the amount of the HTTP error response body read during prom.scrape non-200 responses. Previously, the code read the entire response body (io.ReadAll) for non-200 HTTP statuses, which could allow a malicious or misbehaving endpoint to exhaust memory (OOM) by returning a very large body. The fix introduces a limited reader (GetLimitedReader) with a maximum size (maxScrapeSize+1) and reads only up to that bound, mitigating unbounded reads and subsequent memory exhaustion. Impact: This changes the behavior of error-paths in lib/promscrape/client.go, ensuring that error bodies are not read in full when the endpoint is misbehaving or malicious. This is a genuine security improvement, not just a dependency bump or a cosmetic change.
a29229a8 <1.139.0 2026-04-16 23:10
grafana/grafana Authorization / Privilege Escalation HIGH
This commit hardens AccessControl by introducing per-resource permission kind restrictions (AllowsKind) for ResourcePermission mappers and by explicitly constraining Service Accounts (SA) to not be granted BasicRole at the resource level. Previously, mappers could implicitly allow all permission kinds (nil allowedKinds) for resources like serviceaccounts, which could enable a per-resource BasicRole grant to an SA. The patch adds: (1) a configurable ScopeAttribute and Scope attribute constants to make scope handling explicit, (2) a shared mapper with an AllowsKind(...) method to restrict which permission kinds are allowed per resource, and (3) storage_backend.go wiring that, for serviceaccounts, uses an explicit allowedKinds list excluding BasicRole. This closes a potential authorization bypass where a user could grant a BasicRole to an SA on a specific resource, effectively escalating privileges at the resource level when BasicRole is globally derived for SA.
8167da14 12.4.0 and earlier 2026-04-16 18:22
grafana/grafana Information Disclosure / Access Control (Authorization) HIGH
The commit adds fieldSelector handling for the preferences listing endpoint and enforces access checks to prevent information disclosure via list operations. Specifically: - Only a single fieldSelector on metadata.name is supported with the = operator. - Access control is applied based on the owner parsed from the name: namespace owner is always allowed; user owner is allowed only if the requester matches; team owner is allowed only if the requester is a member of that team. - Continue tokens and label selectors are rejected to prevent abuse. - If access is not permitted, the API returns an empty list instead of leaking data. This fixes a potential authorization/info-disclosure flaw where an authenticated user could enumerate or fetch preferences for other users/teams via the list endpoint using field selectors. The vulnerability type is Information Disclosure / Access Control (Authorization).
7b60014c Grafana 12.4.0 and earlier (prior to this commit) 2026-04-16 14:22
torvalds/linux Memory safety (use-after-free, double-free) HIGH
The commit bundles fixes for memory-safety vulnerabilities in the ksmbd SMB server (smbdirect path and related code). The primary issues addressed are memory-corruption risks such as use-after-free and double-free in the SMB Direct path (e.g., handling and ownership of request objects in smbdirect_send paths, and the flow where a request is moved to a batch and should not be freed), as well as a use-after-free in the close path for durable/async operations. Additional changes address a potential crypto-message use-after-free, a memory leak in session setup, validation improvements (EA name length), and safer handling of related FSCC structures to reduce the risk of out-of-bounds or invalid memory access. Overall, these changes are aimed at mitigating memory-safety defects that could lead to crashes or code execution, rather than pure functionality changes.
04809172 v7.0-rc6 and earlier (baseline for this patch, before this v7.1-rc-part1 ksmbd-srv-fixes merge) 2026-04-16 06:32
torvalds/linux Buffer overflow / memory-safety issue in device-mapper ioctl processing HIGH
The commit set contains device-mapper and DM core fixes that include memory-safety improvements around dynamic allocations and ioctl handling (notably in dm-bufio.c and related dm-cache/metadata paths). The key change is replacing a potentially unsafe fixed-size allocation for a dynamically-sized structure with a safe flexible-allocation approach (kzalloc_flex) and related ioctl/error-path hardening. This points to a genuine memory-safety bug (buffer overflow risk) in ioctl/Data-structure handling within the device-mapper subsystem, rather than a pure dependency bump or cosmetic cleanup.
a5f99809 <= v7.0-rc6 (prior to the for-7.1/dm-changes integration); includes 7.0-rc6 and earlier 2026-04-16 06:22
torvalds/linux Out-of-bounds read / Memory safety HIGH
The patch fixes a memory-safety vulnerability by replacing an out-of-bounds read when computing the length to copy into task_struct->comm. Previously __set_task_comm used strlen(buf) to determine the length, which can read past a non-NUL-terminated user-provided buffer. The fix uses strnlen(buf, sizeof(tsk->comm) - 1) to cap the read to the destination buffer, preventing potential over-read and related memory-safety issues or information disclosure. This is a genuine safety improvement in the exec path that updates task names.
613b48bb < v7.0-rc6 2026-04-16 06:20
torvalds/linux Race condition in regmap-debugfs dummy name allocation HIGH
The commit fixes a race condition in regmap-debugfs dummy name allocation. Previously, regmap-debugfs used a static dummy_index for naming dummy entries, which could race when multiple regmaps create dummy debugfs entries concurrently, potentially leading to name collisions, incorrect mapping, or use-after-free scenarios during cleanup. The fix introduces per-instance ID allocation (via IDA) and per-map tracking (debugfs_dummy_id) with proper cleanup, eliminating the shared global naming race and ensuring each dummy debugfs entry has a unique, correctly freed name.
8e258317 v7.0-rc6 and earlier (pre-7.1 regmap) 2026-04-16 06:19
torvalds/linux Memory safety / Bounds-checking (out-of-bounds read risk) in SMB client and dcache tmpfile handling HIGH
The commit bundle contains explicit security-related fixes: (1) bounds checking addition in d_mark_tmpfile_name to prevent a potential buffer overflow when constructing a temporary file name for dcache entries. It enforces that the new name length does not exceed DNAME_INLINE_LEN - 1 before performing the copy, reducing the risk of memory corruption in path handling for tmpfiles. (2) A compatibility/feature-related adjustment to support O_TMPFILE and related tmpfile naming, including new constants and small adjustments in cifs/smb client code to correctly handle temporary file creation and naming. The triaged note mentions fixing an out-of-bounds read in symlink response parsing and an EA bounds check; these changes correlate to input validation and memory-safety improvements in the SMB client and vfs path handling. Taken together, these are concrete security-oriented fixes rather than mere dependency bumps or cosmetic changes.
81dc1e4d 7.0-rc6 and earlier (pre-fix SMB3/SMB1 client code in the v7.1-rc1-part1-smb3-client-fixes merge) 2026-04-16 06:14
torvalds/linux Memory safety / Uninitialized read in HFS+ catalog record parsing HIGH
The commit contains a genuine security vulnerability fix in the HFS+ handling code of the Linux kernel. It addresses a memory-safety issue where syzbot observed an uninitialized value being read from on-disk HFS+ catalog records. The root cause is that the code path reading catalog records did not validate that the on-disk record size (the length field for a catalog entry) matches the expected size for the record type. The patch introduces hfsplus_brec_read_cat(), which validates the record size against the type and returns -EIO on mismatch, preventing potential reads of uninitialized kernel memory. Additionally, the commit includes related hardening such as detecting corrupted allocator state during hfs_btree_open() (mount read-only on corruption) and fixing error-path lock handling to avoid deadlocks. These changes reduce exposure to memory-safety issues and panics when processing corrupted HFS+ images. In short, this is a targeted memory-safety vulnerability fix in HFS+ catalog record parsing, not merely a dependency bump or a cosmetic code cleanup.
4d998142 v7.0-rc6 2026-04-16 06:07
torvalds/linux Authentication/authorization bypass via durable handle reconnect (MS-SMB2 SecurityContext mismatch) HIGH
The ksmbd durable handle reconnect flow did not verify the reconnecting client's identity against the original opener. This allowed an authenticated user to hijack an orphaned durable handle by guessing or brute-forcing the persistent ID (DHnC). The patch adds a durable_owner to ksmbd_file to store the original opener's UID, GID, and account name, captures owner information when a file handle becomes orphaned, and introduces ksmbd_vfs_compare_durable_owner() to validate the reconnection identity during SMB2_CREATE (DHnC). This closes the gap where any authenticated user could reconnect to a durable handle opened by another user.
49110a8c 7.0-rc6 and earlier (before this commit 49110a8ce654bbe56bef7c5e44cce31f4b102b8a) 2026-04-16 05:53
torvalds/linux Race condition in KVM gmap invalidation / shadow paging (memory safety and isolation risk) HIGH
This commit fixes a real race condition in KVM's gmap/shadow paging code, addressing partial gmap invalidations particularly in the s390 KVM path and tightening the user-kernel API surface by replacing VLAs with FLEX_ARRAY. The core changes introduce an invalidated flag on gmap objects and adjust the shadow/invalidation logic to avoid races where a gmap could be observed in an inconsistent state during concurrent invalidation and shadow-paging operations. It also updates multiple UAPI structures to use the FLEX_ARRAY helper instead of VLAs, reducing risks from unbounded kernel/user-space structures. The combination of s390 race fixes and the UAPI cleanup constitutes a genuine vulnerability fix aimed at preventing race-induced memory safety/isolation issues in virtualization. Rationale: - The diff shows multiple guarded checks that previously relied on sg->parent to determine validity; these have been replaced with sg->invalidated in several hot paths, indicating a race-prone condition when a gmap is invalidated concurrently with shadow operations. - The gmap structure now carries an invalidated flag and the code marks gmaps as invalidated during certain transitions, which prevents unsafe pointer usage or premature re-use of shadow state. - UAPI structures are migrated from inline flexible arrays (VLAs) to __DECLARE_FLEX_ARRAY, eliminating VLAs in kernel-user interfaces and reducing attack surface from malformed or oversized user-space inputs. Affected behavior before fix: concurrent invalidation/updates of gmaps could race with shadow paging, potentially leading to use-after-free-like scenarios or memory isolation breaches in edge cases. Impact: The fix reduces the likelihood of memory-safety vulnerabilities in KVM where gmap invalidations race with shadow paging, improving guest memory isolation and stability.
086aca10 v7.0-rc5 and earlier (all 7.0-rc versions prior to this commit) 2026-04-16 05:43
grafana/grafana Information disclosure / Access-control hardening HIGH
This commit implements an information-disclosure hardening in the unified search API by filtering out the K6 technical folder for non-service accounts. Previously, regular users could observe internal K6 RBAC artifacts (the K6 folder) in search results, potentially leaking internal structure and permissions. The change adds a NotIn filter on the SEARCH_FIELD_NAME for the K6FolderUID when the requester is not a service account, and updates tests accordingly. This appears to be a genuine security vulnerability fix aimed at reducing unintended information disclosure via search results.
dfaf0a74 Grafana 12.4.0 and earlier 2026-04-15 18:25
grafana/grafana Authorization bypass / Information Disclosure HIGH
The commit implements an authorization fix for listing preferences. Prior to this change, non-user identities (e.g., AccessPolicy) could list all preferences by nulling the user, effectively bypassing access control and enabling information disclosure across users/teams within a namespace. The patch restricts listing to actual users and requires an explicit All flag to list all preferences. This prevents an authorization bypass that could reveal per-user/per-team preferences.
1049fdc8 <= 12.4.0 (pre-fix) 2026-04-15 09:25
grafana/grafana Authorization bypass / Access control: Denial of watch on ResourcePermissions HIGH
The commit adds a temporary authorization rule that explicitly denies watch operations on ResourcePermissions while allowing other operations. This blocks the watch exposure for ResourcePermissions, addressing an access-control weakness where watch streams could reveal permission-related data. It is a targeted code change (not a dependency bump) intended to fix an authorization bypass risk, by injecting a Deny path for the watch verb on ResourcePermissions at the API layer. The change relies on a storage-layer authorization for non-watch operations, with watch explicitly denied via a custom AuthorizerFunc.
dfe5e265 Grafana 12.4.0 (and potentially earlier 12.4.x releases that pull this IAM authorizer logic)", 2026-04-15 00:01
grafana/grafana Privilege escalation / Authorization bypass via wildcard resource name in RBAC resourcepermissions HIGH
The commit adds validation to reject wildcard '*' as the resource name in ResourcePermission objects used by Grafana's RBAC. This was enabling a potential authorization bypass/privilege escalation by creating or using a permission that targets all resources within a group (a wildcard). The changes enforce that resource permissions must target a specific resource and adjust related parsing/validation paths accordingly. Tests were added to ensure '*' is rejected, and an explicit error path was introduced for wildcard resource IDs. This indicates a real vulnerability fix rather than a mere dependency bump or cleanup.
1744b6fc <= 12.3.x (prior to this fix in the 12.4.0 line) 2026-04-13 17:06
grafana/grafana Privilege Escalation / Authorization bypass via cross-namespace provisioning HIGH
Root cause: provisioning identity was derived from the resource object's namespace (f.Obj.GetNamespace()) in Run() and DryRun(), which could be empty or incorrect for resources created via provisioning. As a result, resources from one repository could be created or modified under an unintended namespace, leading to cross-namespace ownership conflicts and potential privilege escalation. The patch changes identity derivation to use the repository's namespace (f.Repo.Namespace) in Run(), DryRun(), and related code paths (e.g., dualwriter.go), ensuring resources are created within the repository's proper namespace and preserving isolation across repositories. Integration tests for cross-namespace isolation were added to validate correct behavior. This is a genuine security fix addressing authorization/ownership boundaries between repositories.
2797c05b <= 12.4.0 (all 12.x releases prior to this commit) 2026-04-13 17:05
torvalds/linux Memory safety / NULL pointer dereference in kernel space (PN533 UART receive path) HIGH
The commit fixes a memory-safety bug in the PN533 NFC UART driver receive path. Previously, pn532_receive_buf could consume input bytes and hand a complete frame to pn533_recv_frame() before ensuring a fresh receive skb was allocated. If a fresh skb allocation failed, the callback would return the number of bytes accepted as zero, leave recv_skb as NULL, and subsequent receive handling could dereference a NULL skb (via skb_put_u8()), leading to a kernel crash or instability. The fix allocates the receive skb lazily just before consuming the next byte and, on allocation failure, returns the number of bytes already accepted. This preserves receive accounting and avoids potential NULL dereferences. The change is a correctness bug fix with memory-safety implications in the kernel space.
c71ba669 v7.0-rc6 and earlier (pre-fix) 2026-04-11 08:20
torvalds/linux Control-Flow Integrity / Indirect Branch Tracking (RISC-V) mismanagement leading to potential RCE HIGH
The commit strengthens and clarifies RISCV indirect branch tracking (CFI) and shadow stack handling in the kernel. It unlocks per-task CFI/shadow stack state immediately after exec(), updates prctl()/ptrace interfaces to be more explicit, and renames/adjusts internal state fields for branch landing pads and shadow stacks. The changes address stale/incorrect locking behavior that could otherwise result in a misconfigured or stuck CFI/shadow stack state, which could be exploited to bypass control-flow integrity and potentially enable RCE via indirect branches. In short, this is a security hardening/fix rather than a mere cleanup or dependency bump.
e774d5f1 v7.0-rc6 and v7.0-rc7 (before rc8) 2026-04-11 08:17
torvalds/linux Buffer overflow / memory corruption in TH1520 AON RPC message construction HIGH
The commit fixes a buffer overflow in the TH1520 AON RPC handling path (drivers/firmware/thead,th1520-aon.c). Previously, the code built the RPC message by using the RPC_SET_BE16 macro to write 16-bit values into the message at specific offsets, which could write beyond the intended bounds and corrupt memory. The patch replaces these writes with direct 16-bit fields (resource and mode) updated using cpu_to_be16, aligning the payload with the actual RPC structure and preventing out-of-bounds writes. This addresses a potential memory corruption vulnerability in the TH1520 AON firmware RPC path. The change also updates the endian handling macros in the header to standardize usage.
d58305b2 7.0-rc6 and earlier (upstream 7.x where TH1520 AON RPC is present) 2026-04-11 08:02
torvalds/linux Memory safety / IOMMU TLB synchronization weakness (potential memory corruption) HIGH
Memory-safety vulnerability in the IOMMU code: when unmapping, the iotlb_gather may appear empty and the code could elide the iotlb_sync() call, leading to stale TLB state and potential memory corruption, crashes, or hangs. The patch ensures iotlb_sync is invoked even if the gather is effectively empty by forcing a non-empty gather before sync.
8b02520e v7.0-rc7 (regression introduced in -rc7; fixed by this commit) 2026-04-11 08:01

Medium Confidence

20
facebook/react Information Disclosure MEDIUM
The commit changes production error handling for all browser bundles to minify prod error codes/messages, reducing information leakage. It also expands the error code map (scripts/error-codes/codes.json) and flips minifyWithProdErrorCodes from false to true for multiple bundles. The resulting behavior is that production browser errors no longer expose verbose internal messages or stack traces, mitigating potential information disclosure about internal server/client boundaries and bundler details.
23fcd7ce Pre-19.2.4; specifically 19.2.0 through 19.2.3 (inclusive) for browser bundles; fixed in 19.2.4. 2026-04-17 20:22
grafana/grafana XSS MEDIUM
The commit changes the Data Hover UI rendering to sanitize and constrain link rendering in data-hover tooltips. Previously, values could be rendered as clickable links via a shared geomap/ui utility (renderValue) that wrapped URLs in an anchor tag without URL sanitization. The new approach introduces a dedicated renderValue implementation under data-hover that only renders http/https URLs and sanitizes the href via textUtil.sanitizeUrl, while leaving non-http/https values as plain text. It also adds an isHttpUrl helper and tests for it. In effect, this mitigates potential XSS via untrusted inputs in Data Hover tooltips by preventing execution of untrusted or malicious URLs and ensuring sanitized, safe anchor targets.
c1605805 Pre-12.4.0 (i.e., 12.3.x and earlier) 2026-04-17 15:32
grafana/grafana Authorization / Access Control: Privilege escalation via RBAC misconfiguration (AllowsKind gating) MEDIUM
The commit adds an AllowsKind gate and configurable ScopeAttribute for ResourcePermission mappers, plus a storage backend exclusion of BasicRole for service accounts. Before this change, nil allowedKinds meant all permission kinds (including BasicRole) could be assigned to resources, enabling potential authorization bypass/privilege escalation by granting BasicRole to a ServiceAccount or other resource. The patch hardens RBAC by ensuring only whitelisted kinds are allowed for a given resource and scope, and by avoiding dangerous combinations in storage.
8246bd0e Grafana 12.x before this commit; exact range not specified in patch. Likely 12.3.x and older. 2026-04-17 12:31
torvalds/linux BPF verifier bypass / RCE potential via malformed BTF attributes (func_info, line_info, core_relo) MEDIUM
The commit moves BTF validation logic into a dedicated check_btf.c and wires it into the BPF verifier. It hardens handling of BTF-derived information for func_info, line_info, and core_relo, preventing malformed or inconsistent BTF attributes from bypassing the verifier's security checks. This is a genuine security hardening against potential verifier bypasses that could lead to code execution on crafted BPF programs. The change is not merely a dependency update or a cosmetic cleanup; it adds targeted validation paths and integrates them with the verifier flow.
99a832a2 Pre-patch: up to v7.0-rc5 (and earlier); patched in v7.0-rc6 and later. 2026-04-16 05:47
grafana/grafana Race condition in pending-delete cleanup (tenant deletion) MEDIUM
The commit fixes a race condition in the pending-delete cleanup flow for tenants in Grafana's Unified Storage. Prior to this change, the pending-delete lifecycle could be mishandled during cleanup, potentially allowing a tenant to be recreated or left in an inconsistent state while the cleanup is in progress. The patch introduces a DeletedAt timestamp and an Orphaned flag to differentiate between orphaned and non-orphaned pending-delete records, and adjusts deletion logic to guard against reprocessing and unintended recreation. Key points addressed: - Added DeletedAt to PendingDeleteRecord. Non-orphaned records are marked DeletedAt after successful deletion, preventing reprocessing by the tenant deleter. - Reconciler now propagates Orphaned flag instead of Force, and clear logic skips orphaned records rather than forcing skip behavior. - Non-orphaned records are not re-created during cleanup because the tenant deleter will mark them DeletedAt and skip reprocessing. - Tests updated to reflect new behavior (DeletedAt set after expiry, orphaned records removed entirely, etc.). Affects scenarios where a tenant could be concurrently cleaned up and re-considered by the watcher, creating a timing window for inconsistent deletion state. The fix provides deterministic cleanup semantics by ensuring DeletedAt gates further processing and orphaned records are handled distinctly.
85e4745d Grafana 12.4.0 and later (unified storage pending-delete flow) 2026-04-14 20:01
grafana/grafana Information Disclosure / Improper Error Handling (NotFound leakage) MEDIUM
The commit standardizes NotFound error handling for annotations across in-memory, SQL, and Kubernetes adapters. It maps internal NotFound errors to API-level NotFound responses and avoids leaking whether a resource exists when access is restricted. Previously, error messages or HTTP statuses could disclose existence or details about resources, enabling resource enumeration. The changes aim to minimize information disclosure by returning uniform NotFound responses for missing resources (and related permission scenarios) rather than revealing existence through mixed error messages or statuses.
8a7d7289 Grafana 12.x releases prior to this patch, including the 12.4.0 release before this commit's changes 2026-04-13 17:04
rails/rails Information Disclosure MEDIUM
The commit adds an optimization in ActiveSupport::ParameterFilter to detect anchored exact-match regular expressions and treat those keys as exact matches to be masked. Specifically, it introduces extract_exact_key to derive a literal key from anchored patterns like /^token$/ or \Atoken\z and stores these in an @exact_keys hash. During filtering, if a key exactly matches one of these literals, or if a general regex matches the key, the value is masked. This reduces the risk of information disclosure by ensuring that sensitive parameter names that are intended to be masked (even when specified with anchored exact-match regex) are reliably hidden across both top-level and nested parameter structures. The change also adds a test for anchored exact-match regexp filters to verify the behavior.
f9243afd 8.1.0 - 8.1.3 (inclusive) 2026-04-11 22:40
victoriametrics/victoriametrics Concurrency leak / race condition leading to potential deadlock in write concurrency limiter MEDIUM
The commit fixes a race/resource-leak in the write concurrency limiter. Previously, Read() could decrease the available concurrency tokens (via DecConcurrency()) and, if IncConcurrency() failed, the token would not be re-acquired, potentially leaking a slot permanently. This could drain the concurrency limiter channel over time, eventually causing ingestion to deadlock when no slots remain. The patch adds per-reader tracking of whether a token has been obtained (increasedConcurrency) and ensures tokens are released correctly when the reader is returned.
d07c1c73 < 1.139.0 (versions prior to the fix in lib/writeconcurrencylimiter/concurrencylimiter.go) 2026-04-10 17:52
grafana/grafana Memory safety / panic (crash) vulnerability in KV parsing MEDIUM
The commit adds a validation guard in ParseDataKeyParts to ensure the resource version metadata (rvMeta) contains at least 3 tilde-separated parts before accessing rvParts[1] and rvParts[2]. Previously, crafted or malformed rvMeta values with only 1 or 2 segments could lead to an index-out-of-range panic when parsing storage KV keys, potentially crashing Unistore and causing a denial-of-service condition or information leakage. The change is accompanied by tests covering edge cases and panic avoidance.
3361f0db <= 12.4.0 2026-04-09 13:50
grafana/grafana Information Disclosure / Cache mishandling MEDIUM
The commit changes public dashboards to avoid reusing a session-scoped scene cache and to build the dashboard scene from API data instead of cached scene data. Before this fix, public dashboards could be loaded from a per-session cache, risking information disclosure or leakage across sessions if a cached scene containing user/session-specific data was reused for another user or session. The fix ensures public dashboards are not pulled from the session cache and are constructed from API data, reducing stale or cross-session data exposure and aligning authorization context with the API response. This is a genuine vulnerability fix for cache mishandling related to public dashboards.
3b3e1d63 < 12.4.0 2026-04-08 22:11
grafana/grafana Information Disclosure / Authorization Bypass (RBAC) in UI visibility MEDIUM
The commit fixes a UI-driven information-disclosure risk in the Grafana Connections landing page. Previously, the landing page derived its cards from a hardcoded CardData.ts, which did not reflect actual backend visibility (RBAC) or plugin availability. This could cause a user to see cards for resources they should not access, effectively leaking the existence (and structure) of restricted plugins or data sources. The patch derives landing page cards from the backend-provided navIndex (which applies full plugin availability and RBAC checks) and enriches the card data via a metadata map. This aligns UI visibility with backend access control and edition-specific copy, reducing information disclosure and preventing exposure of inaccessible items.
d9eadb70 Versions prior to 12.4.0 (before this commit) 2026-04-08 12:11
grafana/grafana Information disclosure / Injection (v2 dashboards) MEDIUM
The commit adds v2-specific sanitization for public dashboards to strip potentially dangerous fields from query specs for v2 dashboards, preventing injection or leakage of query expressions. It introduces isDashboardV2 and sanitizeDataV2 and uses them in GetPublicDashboardForView, so v1 dashboards continue using existing sanitization. This appears to be a security-conscious change aimed at avoiding execution or disclosure of user-provided query expressions in v2 dashboards when served via public dashboards.
7b13ef03 12.4.0 2026-04-08 09:09
grafana/grafana RBAC / Access Control (authorization misconfiguration) MEDIUM
The commit refactors RBAC checks for snapshot operations to use general dashboard actions instead of per-snapshot actions. Specifically, it replaces references to dashboardsnapshots.ActionSnapshotsCreate/Delete/Read with dashboards.ActionSnapshotsCreate/Delete/Read and adjusts evaluators to require both the create/delete/read action and the corresponding dashboards read permission with the correct dashboard scope. This aligns authorization checks across dashboards and snapshots, reducing the risk of misconfigurations allowing unauthorized access to snapshot functionality. In prior versions, mismatch between snapshot-specific actions and roles could permit unintended access or block legitimate access, depending on how roles were defined.
e1d9d67a <= 12.4.0 2026-04-07 21:32
grafana/grafana Access Control / Authorization MEDIUM
The commit removes legacy access control logic and related permissions imports used for annotation/dashboard access checks, replacing them with a newer access control path. Specifically, it eliminates the old RBAC filter (NewAccessControlDashboardPermissionFilter) insertion into SQL query construction and stops passing legacy Filters to the dashboard search. This appears to be an authorization hardening effort intended to unify access control checks under a newer mechanism (OpenFGA-based path mentioned in code comments). While the code changes suggest removing a potential bypass route from the legacy ACL checks, the exact security impact depends on the surrounding new authorization path being correctly enforced in all call sites. The triage notes indicate the intent to mitigate bypasses in legacy ACL checks for annotations and dashboards.
64d6656f Grafana <= 12.3.x (prior to this commit); fixed in 12.4.0 and newer 2026-04-06 16:56
torvalds/linux Memory safety (use-after-free) in kernel binder VMA handling (Android binder driver) MEDIUM
The commit contains a targeted fix in the Android binder driver related to VMA (vm_area_struct) handling and vm_ops identity checks. Specifically: - binder/page_range.rs wraps the static vm_operations_struct in a Sync-enabled wrapper (AssertSync) and adjusts the identity check to compare the vm_ops pointer against the inner value (BINDER_VM_OPS.0) rather than the wrapper object. - binder/rust_binder_main.rs defines a small AssertSync<T> wrapper and makes the inner type Sync, ensuring the global C binding type is treated as Sync, with a clarified safety comment. - These changes fix a potential memory-safety issue where an incorrect or non-atomic comparison of vm_ops could lead to misidentification of a VMA, potentially allowing use-after-free or memory misuse in binder IO/vma handling. The vulnerability is described as a memory-safety (use-after-free) risk in the kernel binder VMA handling, mitigated by making the vm_ops identity check precise and ensuring correct Sync semantics for a global C-binding struct. Affects pre-fix 7.0-rc6; fixed in 7.0-rc7 and related patches.
1791c390 <= v7.0-rc6 (prior to this commit) 2026-04-05 18:17
django/django Input validation / Query construction MEDIUM
The commit adds a guard in When.__init__ to prevent internal keyword arguments (_connector, _negated) from propagating to Q(**lookups). If such invalid kwargs are present in the lookups passed to When, it raises a TypeError with a descriptive message listing the invalid kwargs. This is defensive input-validation hardening in query construction to prevent misuse of internal flags during query building. The change appears to be a genuine fix focused on validating inputs rather than a general code cleanup or a test-only change.
3b161e60 Django 5.1.x pre-fix (any 5.1.x release before commit 3b161e60964aff99eddcd2627a486d81c1836b3a) 2026-04-05 14:33
django/django Information disclosure (path leakage in warning output) MEDIUM
The commit hardens warning output by caching and reusing internal Django file prefixes and using skip_file_prefixes to suppress Django’s own filesystem paths from warning traces. Previously, certain warnings could leak internal Django file paths in stack traces (information disclosure). The change introduces django_file_prefixes() to return a tuple of internal Django prefixes and updates warning calls to pass these prefixes, effectively filtering out Django’s own path components from warning output. This reduces leakage of internal filesystem structure in error/warning messages.
7b26b64a Django stable/5.1.x prior to this commit (i.e., the 5.1.x series before 7b26b64a63b5...). 2026-04-05 14:29
django/django Input Validation in multipart header parsing MEDIUM
The commit fixes a bug in multipart header parsing where the parser could be fed the entire header line (including the header name) instead of just the header value. This could lead to incorrect parsing or misinterpretation of header parameters for multipart requests. The change tightens input handling by splitting the header line at the first colon and only passing the value portion to parse_header_parameters, ensuring the header name is not mis-parsed as part of the value. A test asserting proper handling of malformed headers (e.g., spaces around the colon) was added to validate robust parsing.
41ff30f6 5.1.x before commit 41ff30f6f9d072036be1f74db8f0c8b21565299f 2026-04-05 13:35
django/django Path handling / potential path traversal edge-case MEDIUM
The commit fixes an edge-case in ASGIRequest.path_info calculation. Previously, the code derived path_info by simply removing the script_name prefix from the request path (using removeprefix). This caused incorrect path_info for request paths that start with the script_name but do not have a slash boundary immediately after it. Example: path "/rootprefix/somepath/" with script_name "/root" would incorrectly strip "/root" and yield "prefix/somepath/". The new logic only strips the script_name when the path starts with script_name + "/" or when the path exactly equals script_name. Otherwise, it preserves the full path. This prevents miscomputation of path_info that could lead to unintended access to resources or leakage of path data, addressing a path handling vulnerability.
b33c31d9 5.1.x (stable/5.1.x) prior to this commit b33c31d992591bc8e8d20ac156809e4ae5b45375 2026-04-05 13:21
django/django Information disclosure / Access control bypass via improper fetch-mode propagation MEDIUM
The commit implements propagation of the ORM's fetch_mode state across related objects when traversing relationships. Previously, fetch_mode restrictions applied to the top-level queryset but were not consistently propagated to related objects fetched via relationships (forward and reverse). The patch copies the fetch_mode from a source instance to related objects in multiple code paths (prefetching, related descriptors, and query iteration), and updates tests and docs to reflect that fetch modes apply to an entire object graph, not just the initial model. This reduces the risk of information disclosure or access-control bypass where related objects could be fetched under a different (potentially less restrictive) fetch_mode. The triage notes align with this being a security fix improving consistency and enforcement of fetch-mode-based access controls across related fetches, rather than introducing a new feature.
6dc9b040 5.1.x (before this commit) 2026-04-05 13:15