CVE-2003-0390
Description
Multiple buffer overflows in Options Parsing Tool (OPT) shared library 3.18 and earlier, when used in setuid programs, may allow local users to execute arbitrary code via long command line options that are fed into macros such as opt_warn_2, as used in functions such as opt_atoi.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No mitigations published for this CVE yet.
The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or — if you've already worked around this in production — publish your fix to the community-verified tier.
✚ Propose a mitigation on Community → Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here withsource_tier=community-verified.
Exploits
Public proof-of-concept code below. AS-IS, for defenders and authorised testing only.
Exploit-DB
Libopt.a 3.1x - Error Logging Buffer Overflow (1)
/*
source: https://www.securityfocus.com/bid/7433/info
Libopt library has been reported prone to a buffer overflow vulnerability.
It has been reported that several Libopt.a error logging functions, may be prone to buffer overflow vulnerabilities when handling excessive data. The data may be supplied as an argument to a program linked to the vulnerable library. This condition arises from a lack of sufficient bounds checking performed on the user-supplied data, before it is copied into a memory buffer. As a result the bounds of an internal stack-based memory buffer may be overflowed and adjacent memory corrupted with attacker supplied data. It should be noted that no SUID applications linked to this library are currently known.
Although unconfirmed this vulnerability may be exploited to execute arbitrary attacker supplied code.
It should be noted that although this vulnerability was reported to affect Libopt.a version 3.18 previous versions might also be affected.
*/
/* To compile vuln.c : */
/* cc -o vuln vuln.c /path/to/opt-3.18/src/libopt.a */
main(int *argc, char **argv)
{
/* use OPT opt_atoi() */
int y = opt_atoi(argv[1]); printf("opt_atoi(): %i\n", y);
}
Libopt.a 3.1x - Error Logging Buffer Overflow (2)
OS impact
Debian Fixed 5 releases
| Version | Status | Fixed in |
|---|---|---|
| trixie | Fixed | 3.19 |
| sid | Fixed | 3.19 |
| forky | Fixed | 3.19 |
| bullseye | Fixed | 3.19 |
| bookworm | Fixed | 3.19 |
References
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.