CVE-2024-50610
NoneCVSS
—
EPSS
0.3%
Published
Oct 27, 2024
CISA due date
—
Cloudanix analysis
A flaw in a math library used by some systems can cause memory problems when certain inputs are provided, which might let attackers disrupt or take over affected software.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Other
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer signedness error in gsl_siman_solve_many causes incorrect memory allocation when params.n_tries is negative, leading to memory corruption.
Why it matters to the business
Potential service disruption or compromise on systems using the affected library through ntp, with moderate urgency due to low EPSS and no KEV listing despite the package's age.
How an attack unfolds
An attacker supplies a negative value for n_tries to trigger the signedness error, resulting in an undersized or invalid allocation that can be leveraged for memory corruption attacks.
How to fix it
Upgrade ntp on Ubuntu 14.04 LTS to version 1:4.2.6.p5+dfsg-3ubuntu2.14.04.5 or later; rebuild any dependent applications against a patched GSL.
How to confirm the fix worked
Verify package version matches or exceeds the fixed release and confirm absence of the signedness condition in gsl_siman_solve_many via source review or updated library testing.
Typical attack path
- Identify exposure to the vulnerable GSL version through ntp on Ubuntu 14.04
- Craft input that sets params.n_tries to a negative value
- Trigger gsl_siman_solve_many to induce the allocation error
- Exploit resulting memory corruption for code execution or denial of service
How to detect it
Review application logs and memory error reports around calls to siman functions; check for unusual allocation sizes or crashes in ntp-related processes on legacy Ubuntu systems.
What your security team should do
- Apply the specified ntp update immediately on all Ubuntu 14.04 instances
- Scan for any other packages depending on GSL <= 2.8 and prioritize upgrades
- Monitor EPSS trend for increases and reassess if exploit code appears
The record
GSL (GNU Scientific Library) through 2.8 has an integer signedness error in gsl_siman_solve_many in siman/siman.c. When params.n_tries is negative, incorrect memory allocation occurs.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | gsl | 0 | No fix |
| Debian:12 | gsl | 0 | No fix |
| Debian:13 | gsl | 0 | No fix |
| Debian:14 | gsl | 0 | 2.8+dfsg-4 |
| Ubuntu:20.04:LTS | gsl | 0 | No fix |
| Ubuntu:22.04:LTS | gsl | 0 | No fix |
| Ubuntu:24.04:LTS | gsl | 0 | No fix |
| Ubuntu:24.10 | gsl | 0 | No fix |
| Ubuntu:25.04 | gsl | 0 | No fix |
| Ubuntu:25.10 | gsl | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | gsl | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | gsl | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | gsl | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | gsl | 0 | No fix |
| openSUSE:Tumbleweed | gsl | 0 | 2.8-5.1 |