CVE-2025-21834 (GCVE-0-2025-21834)
Vulnerability from cvelistv5
Published
2025-03-06 16:22
Modified
2025-05-04 07:22
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
seccomp: passthrough uretprobe systemcall without filtering
When attaching uretprobes to processes running inside docker, the attached
process is segfaulted when encountering the retprobe.
The reason is that now that uretprobe is a system call the default seccomp
filters in docker block it as they only allow a specific set of known
syscalls. This is true for other userspace applications which use seccomp
to control their syscall surface.
Since uretprobe is a "kernel implementation detail" system call which is
not used by userspace application code directly, it is impractical and
there's very little point in forcing all userspace applications to
explicitly allow it in order to avoid crashing tracked processes.
Pass this systemcall through seccomp without depending on configuration.
Note: uretprobe is currently only x86_64 and isn't expected to ever be
supported in i386.
[kees: minimized changes for easier backporting, tweaked commit log]
References
Impacted products
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "kernel/seccomp.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "5a262628f4cf2437d863fe41f9d427177b87664c", "status": "affected", "version": "ff474a78cef5cb5f32be52fe25b78441327a2e7c", "versionType": "git" }, { "lessThan": "fa80018aa5be10c35e9fa896b7b4061a8dce3eed", "status": "affected", "version": "ff474a78cef5cb5f32be52fe25b78441327a2e7c", "versionType": "git" }, { "lessThan": "cf6cb56ef24410fb5308f9655087f1eddf4452e6", "status": "affected", "version": "ff474a78cef5cb5f32be52fe25b78441327a2e7c", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "kernel/seccomp.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "6.11" }, { "lessThan": "6.11", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.14", "versionType": "semver" }, { "lessThanOrEqual": "6.13.*", "status": "unaffected", "version": "6.13.3", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.14", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.12.14", "versionStartIncluding": "6.11", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.13.3", "versionStartIncluding": "6.11", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.14", "versionStartIncluding": "6.11", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nseccomp: passthrough uretprobe systemcall without filtering\n\nWhen attaching uretprobes to processes running inside docker, the attached\nprocess is segfaulted when encountering the retprobe.\n\nThe reason is that now that uretprobe is a system call the default seccomp\nfilters in docker block it as they only allow a specific set of known\nsyscalls. This is true for other userspace applications which use seccomp\nto control their syscall surface.\n\nSince uretprobe is a \"kernel implementation detail\" system call which is\nnot used by userspace application code directly, it is impractical and\nthere\u0027s very little point in forcing all userspace applications to\nexplicitly allow it in order to avoid crashing tracked processes.\n\nPass this systemcall through seccomp without depending on configuration.\n\nNote: uretprobe is currently only x86_64 and isn\u0027t expected to ever be\nsupported in i386.\n\n[kees: minimized changes for easier backporting, tweaked commit log]" } ], "providerMetadata": { "dateUpdated": "2025-05-04T07:22:07.345Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/5a262628f4cf2437d863fe41f9d427177b87664c" }, { "url": "https://git.kernel.org/stable/c/fa80018aa5be10c35e9fa896b7b4061a8dce3eed" }, { "url": "https://git.kernel.org/stable/c/cf6cb56ef24410fb5308f9655087f1eddf4452e6" } ], "title": "seccomp: passthrough uretprobe systemcall without filtering", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-21834", "datePublished": "2025-03-06T16:22:35.490Z", "dateReserved": "2024-12-29T08:45:45.777Z", "dateUpdated": "2025-05-04T07:22:07.345Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-21834\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-03-06T17:15:23.397\",\"lastModified\":\"2025-03-06T17:15:23.397\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nseccomp: passthrough uretprobe systemcall without filtering\\n\\nWhen attaching uretprobes to processes running inside docker, the attached\\nprocess is segfaulted when encountering the retprobe.\\n\\nThe reason is that now that uretprobe is a system call the default seccomp\\nfilters in docker block it as they only allow a specific set of known\\nsyscalls. This is true for other userspace applications which use seccomp\\nto control their syscall surface.\\n\\nSince uretprobe is a \\\"kernel implementation detail\\\" system call which is\\nnot used by userspace application code directly, it is impractical and\\nthere\u0027s very little point in forcing all userspace applications to\\nexplicitly allow it in order to avoid crashing tracked processes.\\n\\nPass this systemcall through seccomp without depending on configuration.\\n\\nNote: uretprobe is currently only x86_64 and isn\u0027t expected to ever be\\nsupported in i386.\\n\\n[kees: minimized changes for easier backporting, tweaked commit log]\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: seccomp: pasar a trav\u00e9s de la llamada al sistema uretprobe sin filtrar Al adjuntar uretprobes a procesos que se ejecutan dentro de docker, el proceso adjunto sufre un error de segmentaci\u00f3n al encontrar retprobe. La raz\u00f3n es que ahora que uretprobe es una llamada al sistema, los filtros seccomp predeterminados en docker lo bloquean ya que solo permiten un conjunto espec\u00edfico de llamadas al sistema conocidas. Esto es cierto para otras aplicaciones de espacio de usuario que usan seccomp para controlar su superficie de llamada al sistema. Dado que uretprobe es una llamada al sistema de \\\"detalle de implementaci\u00f3n del kernel\\\" que no es utilizada directamente por el c\u00f3digo de la aplicaci\u00f3n de espacio de usuario, no es pr\u00e1ctica y no tiene mucho sentido forzar a todas las aplicaciones de espacio de usuario a permitirla expl\u00edcitamente para evitar que se bloqueen los procesos rastreados. Pase esta llamada al sistema a trav\u00e9s de seccomp sin depender de la configuraci\u00f3n. Nota: uretprobe actualmente solo es x86_64 y no se espera que sea compatible con i386. [kees: se minimizaron los cambios para facilitar la adaptaci\u00f3n, se modific\u00f3 el registro de confirmaciones]\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/5a262628f4cf2437d863fe41f9d427177b87664c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/cf6cb56ef24410fb5308f9655087f1eddf4452e6\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fa80018aa5be10c35e9fa896b7b4061a8dce3eed\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…