---
id: CVE-2025-38257
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  s390/pkey: Prevent overflow in size calculation for memdup_user()

  Number of apqn target list entries contained in 'nr_apqns' variable is
  determined by userspace via an…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  s390/pkey: Prevent overflow in size calculation for memdup_user()

  Number of apqn target list entries contained in 'nr_apqns' variable is
  determined by userspace via an…
severity: high
cvss: 7.3
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H'
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 5.4, < 5.15.187'
  - 'linux_kernel >= 5.16, < 6.1.143'
  - 'linux_kernel >= 6.2, < 6.6.96'
  - 'linux_kernel >= 6.7, < 6.12.36'
  - 'linux_kernel >= 6.13, < 6.15.5'
  - linux_kernel = 6.16
  - debian_linux = 11.0
patched:
  - linux_kernel 6.15.5
published: '2025-07-09'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T22:18:37.177'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-38257'
references:
  - url: 'https://git.kernel.org/stable/c/73483ca7e07a5e39bdf612eec9d3d293e8bef649'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7360ee47599af91a1d5f4e74d635d9408a54e489'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/88f3869649edbc4a13f6c2877091f81cd5a50f05'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ad1bdd24a02d5a8d119af8e4cd50933780a6d29f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f855b119e62b004a5044ed565f2a2b368c4d3f16'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/faa1ab4a23c42e34dc000ef4977b751d94d5148c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html'
    label: af854a3a-2127-422b-91ae-364da2661108
tags:
  - nvd
  - cve.org
epss: 0.00179
epssPercentile: 0.07437
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-15T21:49:06.214372Z'
ingestedAt: '2026-10-15T22:48:25.500Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

s390/pkey: Prevent overflow in size calculation for memdup_user()

Number of apqn target list entries contained in 'nr_apqns' variable is
determined by userspace via an ioctl call so the result of the product in
calculation of size passed to memdup_user() may overflow.

In this case the actual size of the allocated area and the value
describing it won't be in sync leading to various types of unpredictable
behaviour later.

Use a proper memdup_array_user() helper which returns an error if an
overflow is detected. Note that it is different from when nr_apqns is
initially zero - that case is considered valid and should be handled in
subsequent pkey_handler implementations.

Found by Linux Verification Center (linuxtesting.org).

## Affected

- `linux_kernel >= 5.4, < 5.15.187`
- `linux_kernel >= 5.16, < 6.1.143`
- `linux_kernel >= 6.2, < 6.6.96`
- `linux_kernel >= 6.7, < 6.12.36`
- `linux_kernel >= 6.13, < 6.15.5`
- `linux_kernel = 6.16`
- `debian_linux = 11.0`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.15.5`
