Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-37991— parisc: Fix double SIGFPE crash

EPSS 0.06% · P17
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-37991

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
parisc: Fix double SIGFPE crash
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: parisc: Fix double SIGFPE crash Camm noticed that on parisc a SIGFPE exception will crash an application with a second SIGFPE in the signal handler. Dave analyzed it, and it happens because glibc uses a double-word floating-point store to atomically update function descriptors. As a result of lazy binding, we hit a floating-point store in fpe_func almost immediately. When the T bit is set, an assist exception trap occurs when when the co-processor encounters *any* floating-point instruction except for a double store of register %fr0. The latter cancels all pending traps. Let's fix this by clearing the Trap (T) bit in the FP status register before returning to the signal handler in userspace. The issue can be reproduced with this test program: root@parisc:~# cat fpe.c static void fpe_func(int sig, siginfo_t *i, void *v) { sigset_t set; sigemptyset(&set); sigaddset(&set, SIGFPE); sigprocmask(SIG_UNBLOCK, &set, NULL); printf("GOT signal %d with si_code %ld\n", sig, i->si_code); } int main() { struct sigaction action = { .sa_sigaction = fpe_func, .sa_flags = SA_RESTART|SA_SIGINFO }; sigaction(SIGFPE, &action, 0); feenableexcept(FE_OVERFLOW); return printf("%lf\n",1.7976931348623158E308*1.7976931348623158E308); } root@parisc:~# gcc fpe.c -lm root@parisc:~# ./a.out Floating point exception root@parisc:~# strace -f ./a.out execve("./a.out", ["./a.out"], 0xf9ac7034 /* 20 vars */) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 ... rt_sigaction(SIGFPE, {sa_handler=0x1110a, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 --- SIGFPE {si_signo=SIGFPE, si_code=FPE_FLTOVF, si_addr=0x1078f} --- --- SIGFPE {si_signo=SIGFPE, si_code=FPE_FLTOVF, si_addr=0xf8f21237} --- +++ killed by SIGFPE +++ Floating point exception
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未清除浮点状态寄存器T位,可能导致信号处理程序中二次SIGFPE崩溃。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ~ 2a1aff3616b3b57aa4a5f8a7762cce1e82493fe6 -
LinuxLinux 2.6.12 -

II. Public POCs for CVE-2025-37991

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-37991

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-05-20 · 95 CVEs total

CVE-2025-379249.8 CRITICALksmbd: fix use-after-free in kerberos authentication
CVE-2025-37957KVM: SVM: Forcibly leave SMM mode on SHUTDOWN interception
CVE-2025-37955virtio-net: free xsk_buffs on error in virtnet_xsk_pool_enable()
CVE-2025-37952ksmbd: Fix UAF in __close_file_table_ids
CVE-2025-37948arm64: bpf: Add BHB mitigation to the epilogue for cBPF programs
CVE-2025-37947ksmbd: prevent out-of-bounds stream writes by validating *pos
CVE-2025-37946s390/pci: Fix duplicate pci_dev_put() in disable_slot() when PF has child VFs
CVE-2025-37945net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY
CVE-2025-37944wifi: ath12k: Fix invalid entry fetch in ath12k_dp_mon_srng_process
CVE-2025-37949xenbus: Use kref to track req lifetime
CVE-2025-37956ksmbd: prevent rename with empty string
CVE-2025-37954smb: client: Avoid race in open_cached_dir with lease breaks
CVE-2025-37958mm/huge_memory: fix dereferencing invalid pmd migration entry
CVE-2025-37960memblock: Accept allocated memory before use in memblock_double_array()
CVE-2025-37959bpf: Scrub packet on bpf_redirect_peer
CVE-2025-37961ipvs: fix uninit-value for saddr in do_output_route4
CVE-2025-37963arm64: bpf: Only mitigate cBPF programs loaded by unprivileged users
CVE-2025-37962ksmbd: fix memory leak in parse_lease_state()
CVE-2025-37964x86/mm: Eliminate window where TLB flushes may be inadvertently skipped
CVE-2025-37965drm/amd/display: Fix invalid context error in dml helper

Showing top 20 of 95 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2025-37991

No comments yet


Leave a comment