Nixpkgs security tracker

Try the new UI
Login with GitHub
⚠️ You are using a production deployment that is still only suitable for demo purposes. Any work done in this might be wiped later without notice.

Dismissed suggestions

These automatic suggestions were dismissed after initial triaging.

to select a suggestion for revision.

View:
Compact
Detailed
Dismissed
(max. allowed matches exceeded)
created 2 months, 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
RDMA/umem: Fix truncation for block sizes >= 4G

In the Linux kernel, the following vulnerability has been resolved: RDMA/umem: Fix truncation for block sizes >= 4G When the iommu is used the linearization of the mapping can give a single block that is very large split across multiple SG entries. When __rdma_block_iter_next() reassembles the split SG entries it is overflowing the 32 bit stack values and computed the wrong DMA addresses for blocks after the truncation. Use the right types to hold DMA addresses.

Affected products

Linux
  • <baf8685bcf56dc1efb44b8f6a57c42516e549068
  • <5.2
  • =<6.1.*
  • <cc644d5608e3b0dadc970bd6e6aa26b91ea07d0f
  • =<*
  • <dee2a49adeeb2a5e16a3fc858fa21b841c519802
  • =<5.15.*
  • =<5.10.*
  • <ac1aad8e1281534ce936c250f68084fc79c5469e
  • =<6.18.*
  • =<6.6.*
  • =<6.12.*
  • <2ff4b7817e5b78070c30f5fb5e678e452a2628b3
  • ==5.2
  • =<7.0.*
  • <15fe76e23615f502d051ef0768f86babaf08746c
  • <8fe0231adebe086c8a459c790944ac026cd99c6e
  • <afd35fec9297195b759078745549c2671223f24f
Dismissed
(max. allowed matches exceeded)
created 2 months, 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: nft_ct: bail out on template ct in get eval

In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_ct: bail out on template ct in get eval I noticed this issue while looking at a historic syzbot report [1]. A rule like the one below is enough to trigger the bug: table ip t { chain pre { type filter hook prerouting priority raw; ct zone set 1 ct original saddr 1.2.3.4 accept } } The first expression attaches a per-cpu template ct via nft_ct_set_zone_eval() (nf_ct_tmpl_alloc -> kzalloc, tuple is all zero, nf_ct_l3num(ct) == 0). The next expression then calls nft_ct_get_eval() on the same skb, treats the template as a real ct and hits the 16-byte memcpy path. With dreg at NFT_REG32_15 this overflows past struct nft_regs on the kernel stack; with smaller dreg values it silently clobbers adjacent registers. Reject template ct at the eval entry and in nft_ct_get_fast_eval(), mirroring the check nft_ct_set_eval() already has. Additionally, bound the address copy in NFT_CT_SRC / NFT_CT_DST by priv->len instead of by nf_ct_l3num(ct): nf_ct_get_tuple() zeroes the tuple before pkt_to_tuple() fills in only the protocol-relevant leading bytes, so the trailing bytes of tuple->{src,dst}.u3.all are well-defined zero. priv->len is validated at rule load, so the copy size is now bounded by the destination register rather than by an untrusted field on the conntrack. [1]: https://syzkaller.appspot.com/bug?id=389cf09cb72926114fce90dc85a2c3231dcb647c

Affected products

Linux
  • <f071b0bf078146368d18e4eec386bf2ddc0ab7e0
  • =<*
  • <3027ecbdb5fdf9200251c21d4818e4c447ef78e1
  • <4.1
  • <af80f78ce984649e1698b841cd33f4fa505ad828
  • <8470f676eadeab99132708acb1a85915664d6115
  • =<6.18.*
  • <2e154b5f53f1b0b490c7b8b02499f90feb86b1d5
  • =<6.6.*
  • =<6.12.*
  • =<7.0.*
  • ==4.1
Dismissed
(max. allowed matches exceeded)
created 2 months, 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ptp: ocp: fix resource freeing order

In the Linux kernel, the following vulnerability has been resolved: ptp: ocp: fix resource freeing order Commit a60fc3294a37 ("ptp: rework ptp_clock_unregister() to disable events") added a call to ptp_disable_all_events() which changes the configuration of pins if they support EXTTS events. In ptp_ocp_detach() pins resources are freed before ptp_clock_unregister() and it leads to use-after-free during driver removal. Fix it by changing the order of free/unregister calls. To avoid irq handler running on the other core while ptp device unregistering, call synchronize_irq() after HW is configured to stop producing irqs and no irqs are in-flight.

Affected products

Linux
  • <aa03698bb28d3be5ee180adb185395054b342b04
  • =<*
  • <627366c51145a07f675b1800fb5ea2ec960bd900
  • <6.18
  • =<7.0.*
  • ==6.18
Dismissed
(max. allowed matches exceeded)
created 2 months, 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: bridge: make ebt_snat ARP rewrite writable

In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: make ebt_snat ARP rewrite writable The ebtables SNAT target keeps the Ethernet source address rewrite behind skb_ensure_writable(skb, 0). This is intentional: at the bridge ebtables hooks the Ethernet header is addressed through skb_mac_header()/eth_hdr(), while skb->data points at the Ethernet payload. Asking skb_ensure_writable() for ETH_HLEN bytes would check the payload, not the Ethernet header, and would reintroduce the small packet regression fixed by commit 63137bc5882a. However, the optional ARP sender hardware address rewrite is different. It writes through skb_store_bits() at an offset relative to skb->data: skb_store_bits(skb, sizeof(struct arphdr), info->mac, ETH_ALEN) skb_header_pointer() only safely reads the ARP header; it does not make the later sender hardware address range writable. If that range is still held in a nonlinear skb fragment backed by a splice-imported file page, skb_store_bits() maps the frag page and copies the new MAC address directly into it. Ensure the ARP SHA range is writable before reading the ARP header and before calling skb_store_bits().

Affected products

Linux
  • =<*
  • =<5.10.*
  • <5.5
  • =<6.12.*
  • ==5.10
  • <5.9
  • <b7e91939ba9be805a62a257fa4e227dffbb88fa0
  • <76280b78cc9f23bdc6438e10ad6dff148ef8375b
  • =<6.1.*
  • <153ea96c806aea395daba907a4f88480b6ad5093
  • <5.10
  • =<6.6.*
  • <afd64b59c3de9bbbdd3759e834fdc55cda716e0b
  • <b18675263db1147c8e1cab625400c13a0d87bd2d
  • <5.10
  • ==51ba2945a8ef65ae437c8f9ba05f0343aa82ae5b
  • <c9b5ff59feffb92a147a84a5aa28acd2cb8ff4c5
  • <67ba971ae02514d85818fe0c32549ab4bfa3bf49
  • =<5.15.*
  • =<6.18.*
  • ==b7d23c2c87584eb429f115c078ed511be8b18e29
  • =<7.0.*
  • <bf84ad7c7a9ede46e31afaa41a1ba06a159e8c87
  • ==2f3839075a5f8dcf116c1abe35b36b018ac62445
Dismissed
(max. allowed matches exceeded)
created 2 months, 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
USB: serial: io_ti: fix heap overflow in build_i2c_fw_hdr()

In the Linux kernel, the following vulnerability has been resolved: USB: serial: io_ti: fix heap overflow in build_i2c_fw_hdr() build_i2c_fw_hdr() allocates a fixed-size buffer of (16*1024 - 512) + sizeof(struct ti_i2c_firmware_rec) bytes, then copies le16_to_cpu(img_header->Length) bytes into it without validating that Length fits within the available space after the firmware record header. img_header->Length is a __le16 from the firmware file and can be up to 65535. check_fw_sanity() validates the total firmware size but not img_header->Length specifically. Fix by rejecting images where img_header->Length exceeds the available destination space.

Affected products

Linux
  • <3e187152f44d76d7633a3855ffd0099e1588b82a
  • <b7faf660eefa2047ebc2959ff76da2b6eae2e9e3
  • <0fd2b00b2d3d05e3eaa13342b3dfb0fa85c226ae
  • <4cb722747ed25971f35cc47ce5c0e79d7f717713
  • =<6.1.*
  • =<*
  • =<5.15.*
  • =<5.10.*
  • =<6.18.*
  • <2fd64bf0ad66ab5de0c73524591d879427ba5aba
  • <2.6.12
  • <130d6567eb148040eed1b73e1414ad6c27d22bd5
  • =<6.6.*
  • <5a79b634ee58786ca627268daefa7744f2af2e14
  • =<6.12.*
  • =<7.0.*
  • <294692d3296eee3391c348d7ea6401916d27806c
  • ==2.6.12
Dismissed
(max. allowed matches exceeded)
created 2 months, 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
rseq: Fix using an uninitialized stack variable in rseq_exit_user_update()

In the Linux kernel, the following vulnerability has been resolved: rseq: Fix using an uninitialized stack variable in rseq_exit_user_update() There is an bug in which an uninitialized stack variable is used in rseq_exit_user_update() as reported by syzbot: BUG: KMSAN: kernel-infoleak in rseq_set_ids_get_csaddr include/linux/rseq_entry.h:502 [inline] The local variable: struct rseq_ids ids = { .cpu_id = task_cpu(t), .mm_cid = task_mm_cid(t), .node_id = cpu_to_node(ids.cpu_id), }; According to the C standard, the evaluation order of expressions in an initializer list is indeterminately sequenced. The compiler (Clang, in this KMSAN build) evaluates `cpu_to_node(ids.cpu_id)` *before* `ids.cpu_id` is initialized with `task_cpu(t)`. This is fixed by moving the assignment of ids.node_id outside the structure initialization.

Affected products

Linux
  • <e12d20a63b61aaf9de4772effccf42cc9a003e58
  • <7.0.13
  • <6d99479799c69c3cb588fcda19c81d8f61d64ecd
Dismissed
(max. allowed matches exceeded)
created 2 months, 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
misc: fastrpc: fix use-after-free of fastrpc_user in workqueue context

In the Linux kernel, the following vulnerability has been resolved: misc: fastrpc: fix use-after-free of fastrpc_user in workqueue context There is a race between fastrpc_device_release() and the workqueue that processes DSP responses. When the user closes the file descriptor, fastrpc_device_release() frees the fastrpc_user structure. Concurrently, an in-flight DSP invocation can complete and fastrpc_rpmsg_callback() schedules context cleanup via schedule_work(&ctx->put_work). If the workqueue runs fastrpc_context_free() in parallel with or after fastrpc_device_release() has freed the user structure, it dereferences the freed fastrpc_user. Depending on the state of the context at the time of the race, any one of the following accesses can be hit: 1. fastrpc_buf_free() calls fastrpc_ipa_to_dma_addr(buf->fl->cctx, ...) to strip the SID bits from the stored IOVA before passing the physical address to dma_free_coherent(). 2. fastrpc_free_map() reads map->fl->cctx->vmperms[0].vmid to reconstruct the source permission bitmask needed for the qcom_scm_assign_mem() call that returns memory from the DSP VM back to HLOS. 3. fastrpc_free_map() acquires map->fl->lock to safely remove the map node from the fl->maps list. The resulting use-after-free manifests as: pc : fastrpc_buf_free+0x38/0x80 [fastrpc] lr : fastrpc_context_free+0xa8/0x1b0 [fastrpc] fastrpc_context_free+0xa8/0x1b0 [fastrpc] fastrpc_context_put_wq+0x78/0xa0 [fastrpc] process_one_work+0x180/0x450 worker_thread+0x26c/0x388 Add kref-based reference counting to fastrpc_user. Have each invoke context take a reference on the user at allocation time and release it when the context is freed. Release the initial reference in fastrpc_device_release() at file close. Move the teardown of the user structure — freeing pending contexts, maps, mmaps, and the channel context reference — into the kref release callback fastrpc_user_free(), so that it runs only when the last reference is dropped, regardless of whether that happens at device close or after the final in-flight context completes.

Affected products

Linux
  • <df08fadcf0e5f3708365ec3b6d30b5aafd98bea1
  • <ecea4967c2bff92c2fafbc59893f711b39f7b152
  • <fbe0947420eec18a84638d29468c2d563ce4e6a3
  • ==5.1
  • =<6.1.*
  • =<*
  • =<5.15.*
  • =<5.10.*
  • <c6e5c2be09f814377d7f1ce97370a5b7b3e02814
  • =<6.18.*
  • <e85eb5feca8e254905ffa6c57a3c99c89a674a0f
  • =<6.6.*
  • <5278ccd357e0d7aeeb1e76c0f3e0e02894a9897c
  • <e1e3a05efe5954d5bad01157d79429d39a67a7ae
  • =<6.12.*
  • =<7.0.*
  • <d42679eef34dd590b694ce3b666c5e2ba10cd4bf
  • <5.1
Dismissed
(max. allowed matches exceeded)
created 2 months, 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: nft_meta_bridge: fix stale stack leak via IIFHWADDR register

In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_meta_bridge: fix stale stack leak via IIFHWADDR register NFT_META_BRI_IIFHWADDR declares its destination register with len = ETH_ALEN (6 bytes), which the register-init tracking rounds up to two 32-bit registers (8 bytes). nft_meta_bridge_get_eval() then does memcpy(dest, br_dev->dev_addr, ETH_ALEN), writing only 6 bytes and leaving the upper 2 bytes of the second register as uninitialised nft_do_chain() stack. A downstream load of that register span leaks those stale bytes to userspace. Zero the second register before the memcpy so the full declared span is written.

Affected products

Linux
  • =<6.18.*
  • =<*
  • ==6.18
  • <c7d573551f9286100a055ef696cde6af54549677
  • <6.18
  • <07acb9798477535933bd658ac9fa85b6cb10d995
  • <f1e81d571e375d10e50e852223593493d98c1bac
  • =<7.0.*
Dismissed
(already tracked in derivation metadata)
Permalink CVE-2026-50017
6.9 MEDIUM
  • CVSS version (CVSS): 4.0
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Attack Requirement (AT): None (N)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): Active (A)
  • Vulnerable System Impact Confidentiality (VC): High (H)
  • Vulnerable System Impact Integrity (VI): None (N)
  • Vulnerable System Impact Availability (VA): None (N)
  • Subsequent System Impact Confidentiality (SC): None (N)
  • Subsequent System Impact Integrity (SI): None (N)
  • Subsequent System Impact Availability (SA): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Attack Requirement (MAT): None (N)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): Active (A)
  • Modified Vulnerable System Impact Confidentiality (MVC): High (H)
  • Modified Vulnerable System Impact Integrity (MVI): None (N)
  • Modified Vulnerable System Impact Availability (MVA): None (N)
  • Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
  • Modified Subsequent System Impact Integrity (MSI): Negligible (N)
  • Modified Subsequent System Impact Availability (MSA): Negligible (N)
  • Safety (S): Not Defined (X)
  • Automatable (AU): Not Defined (X)
  • Recovery (R): Not Defined (X)
  • Value Density (V): Not Defined (X)
  • Vulnerability Response Effort (RE): Not Defined (X)
  • Provider Urgency (U): Not Defined (X)
  • Confidentiality Req. (CR): Not Defined (X)
  • Integrity Req. (IR): Not Defined (X)
  • Availability Req. (AR): Not Defined (X)
  • Exploit Maturity (E): Not Defined (X)
updated 5 days, 4 hours ago by @ADMIN Activity log
  • Created suggestion
  • @ADMIN dismissed (already tracked in derivation metadata)
pnpm binds unscoped user-level npm auth credentials to a repository-selected registry

pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm can send user-level unscoped npm authentication credentials to a registry chosen by a repository-local .npmrc file. In the reproduced case, the user's npm config contains a default registry and an unscoped _authToken. The repository does not provide a token-bearing auth line. It only sets registry= to a different registry URL. During normal pnpm metadata/install workflows, pnpm binds the user-origin unscoped credential to the repository-selected registry and sends it as an Authorization header. This vulnerability is fixed in 10.34.0 and 11.4.0.

Affected products

pnpm
  • ==>= 11.0.0, < 11.4.0
  • ==< 10.33.4

Matching in nixpkgs

pkgs.pnpm_10_29_2

Fast, disk space efficient package manager for JavaScript

  • nixos-unstable -
  • nixos-26.05 -

Package maintainers

Dismissed
(max. allowed matches exceeded)
Permalink CVE-2026-55693
5.7 MEDIUM
  • CVSS version (CVSS): 4.0
  • Attack Vector (AV): Local (L)
  • Attack Complexity (AC): Low (L)
  • Attack Requirement (AT): None (N)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): Active (A)
  • Vulnerable System Impact Confidentiality (VC): High (H)
  • Vulnerable System Impact Integrity (VI): High (H)
  • Vulnerable System Impact Availability (VA): High (H)
  • Subsequent System Impact Confidentiality (SC): None (N)
  • Subsequent System Impact Integrity (SI): None (N)
  • Subsequent System Impact Availability (SA): None (N)
  • Exploit Maturity (E): Unreported (U)
  • Modified Attack Vector (MAV): Local (L)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Attack Requirement (MAT): None (N)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): Active (A)
  • Modified Vulnerable System Impact Confidentiality (MVC): High (H)
  • Modified Vulnerable System Impact Integrity (MVI): High (H)
  • Modified Vulnerable System Impact Availability (MVA): High (H)
  • Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
  • Modified Subsequent System Impact Integrity (MSI): Negligible (N)
  • Modified Subsequent System Impact Availability (MSA): Negligible (N)
  • Safety (S): Not Defined (X)
  • Automatable (AU): Not Defined (X)
  • Recovery (R): Not Defined (X)
  • Value Density (V): Not Defined (X)
  • Vulnerability Response Effort (RE): Not Defined (X)
  • Provider Urgency (U): Not Defined (X)
  • Confidentiality Req. (CR): Not Defined (X)
  • Integrity Req. (IR): Not Defined (X)
  • Availability Req. (AR): Not Defined (X)
created 2 months, 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Vim: Out-of-bounds Write in Spell File Word Count

Vim is an open source, command line text editor. Prior to 9.2.0653, the tree_count_words() function in src/spellfile.c fills in the word-count fields of a spell-file word trie by walking it iteratively with a depth counter. The counter is bounded only by the trie structure itself; it is never checked against the size of the fixed MAXWLEN-element stack arrays it indexes (arridx[], curi[], wordcount[]). A crafted .spl/.sug file pair, loaded when the user invokes spell suggestion, can drive the descent arbitrarily deep, so the function writes past the end of those arrays. This is a stack out-of-bounds write that corrupts the call frame and crashes the editor. This vulnerability is fixed in 9.2.0653.

Affected products

vim
  • ==< 9.2.0653