{"id":"CVE-2025-38257","revision":"8ca5a6d691db42e696f74511400febea","records":[{"revision":"8ca5a6d691db42e696f74511400febea","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2025-38257","aliases":[],"title":"s390/pkey: Prevent overflow in size calculation for memdup_user()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ns390/pkey: Prevent overflow in size calculation for memdup_user()\n\nNumber of apqn target list entries contained in 'nr_apqns' variable is\ndetermined by userspace via an ioctl call so the result of the product in\ncalculation of size passed to memdup_user() may overflow.\n\nIn this case the actual size of the allocated area and the value\ndescribing it won't be in sync leading to various types of unpredictable\nbehaviour later.\n\nUse a proper memdup_array_user() helper which returns an error if an\noverflow is detected. Note that it is different from when nr_apqns is\ninitially zero - that case is considered valid and should be handled in\nsubsequent pkey_handler implementations.\n\nFound by Linux Verification Center (linuxtesting.org).","state":0,"publishedAt":"2025-07-09T10:42:34.395+00:00","modifiedAt":"2026-10-15T21:52:12.939+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/s390/crypto/pkey_api.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"f2bbc96e7cfad3891b7bf9bd3e566b9b7ab4553d\",\n                            \"lessThan\": \"ad1bdd24a02d5a8d119af8e4cd50933780a6d29f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f2bbc96e7cfad3891b7bf9bd3e566b9b7ab4553d\",\n                            \"lessThan\": \"faa1ab4a23c42e34dc000ef4977b751d94d5148c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f2bbc96e7cfad3891b7bf9bd3e566b9b7ab4553d\",\n                            \"lessThan\": \"88f3869649edbc4a13f6c2877091f81cd5a50f05\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f2bbc96e7cfad3891b7bf9bd3e566b9b7ab4553d\",\n                            \"lessThan\": \"f855b119e62b004a5044ed565f2a2b368c4d3f16\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f2bbc96e7cfad3891b7bf9bd3e566b9b7ab4553d\",\n                            \"lessThan\": \"73483ca7e07a5e39bdf612eec9d3d293e8bef649\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f2bbc96e7cfad3891b7bf9bd3e566b9b7ab4553d\",\n                            \"lessThan\": \"7360ee47599af91a1d5f4e74d635d9408a54e489\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/s390/crypto/pkey_api.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5.4\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"5.4\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.187\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.143\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.96\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.36\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.15.5\",\n                            \"lessThanOrEqual\": \"6.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.16\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H","score":7.3,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/ad1bdd24a02d5a8d119af8e4cd50933780a6d29f","https://git.kernel.org/stable/c/faa1ab4a23c42e34dc000ef4977b751d94d5148c","https://git.kernel.org/stable/c/88f3869649edbc4a13f6c2877091f81cd5a50f05","https://git.kernel.org/stable/c/f855b119e62b004a5044ed565f2a2b368c4d3f16","https://git.kernel.org/stable/c/73483ca7e07a5e39bdf612eec9d3d293e8bef649","https://git.kernel.org/stable/c/7360ee47599af91a1d5f4e74d635d9408a54e489"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2025-38257","license":"CVE Program Terms of Use","key":"cve-program:CVE-2025-38257","identifiers":["CVE-2025-38257"]},"retained":false,"historicalAffected":[]}],"coverage":[]}