CVE-2026-90327
NoneCVSS
—
EPSS
0.2%
Published
Sep 17, 2026
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel's network socket handling can let a local program write data a few bytes outside its allowed memory area, which could make the system unstable or let an attacker gain extra privileges.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Data Tampering
- Component
- OS kernel
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds write in pep_getsockopt() where min_t() clamps the reported optlen but put_user() always writes a full sizeof(int) (4 bytes) to the user buffer, allowing 1-3 bytes of kernel write past the caller's allocation when optlen < sizeof(int).
Why it matters to the business
Local memory corruption in the kernel can cause system crashes, denial of service, or local privilege escalation on systems exposing the phonet protocol; low EPSS and no known exploitation keep immediate enterprise risk modest but still requires prompt patching of affected kernels.
How an attack unfolds
An attacker with local access creates a PF_PHONET socket, invokes getsockopt() on it with an optlen smaller than 4 bytes, and triggers the unbounded put_user() to corrupt adjacent user memory; successful corruption may be leveraged for further kernel exploitation or DoS.
How to fix it
Upgrade to a Linux kernel containing the upstream fix that replaces put_user() with a length-bounded copy_to_user() call; apply vendor kernel packages as soon as available and reboot.
How to confirm the fix worked
Confirm the running kernel is newer than the vulnerable commit, review the source of pep_getsockopt() to verify copy_to_user() is bounded by optlen, and test that getsockopt() with optlen < 4 no longer writes past the supplied buffer.
Typical attack path
- Obtain local shell on target Linux system
- Create a PF_PHONET/PEP socket
- Prepare a small user buffer and call getsockopt() with optlen < sizeof(int)
- Trigger the write beyond the buffer to corrupt adjacent memory
- Leverage resulting corruption for privilege escalation or crash
How to detect it
Examine kernel logs for unexpected oops or corruption around phonet/pep code paths; audit system call traces for getsockopt() invocations on PF_PHONET sockets with unusually small optlen values; no public exploit artifacts are known.
What your security team should do
- Prioritize kernel updates on all systems that may load the phonet module
- Monitor upstream stable and distribution kernel changelogs for the fix
- Restrict unprivileged creation of PF_PHONET sockets via LSM or seccomp where feasible
- Include this kernel issue in the next scheduled patch window given absence from KEV
The record
In the Linux kernel, the following vulnerability has been resolved: phonet: pep: do not write beyond optlen in getsockopt pep_getsockopt() clamps the reported length to the caller's buffer with min_t(), but then stores the value with put_user(val, (int __user *) optval), which always writes sizeof(int) bytes. A getsockopt() call with an optlen smaller than sizeof(int) thus reports the clamped length yet writes a full int, one to three bytes past the user buffer. Write the value with copy_to_user() bounded by len, so at most optlen bytes are copied, matching the length reported back to userspace.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|