A number of vulnerabilities were discovered in CVS by
Stefan Esser, Sebastian Krahmer, and Derek Price.
- Insufficient input validation while processing "Entry"
lines. (CVE-2004-0414)
- A double-free resulting from erroneous state handling while
processing "Argumentx" commands. (CVE-2004-0416)
- Integer overflow while processing "Max-dotdot" commands.
(CVE-2004-0417)
- Erroneous handling of empty entries handled while processing
"Notify" commands. (CVE-2004-0418)
- A format string bug while processing CVS wrappers.
- Single-byte buffer underflows while processing configuration files
from CVSROOT.
- Various other integer overflows.
Additionally, iDEFENSE reports an undocumented command-line
flag used in debugging does not perform input validation on
the given path names.
CVS servers ("cvs server" or :pserver: modes) are
affected by these vulnerabilities. They vary in impact
but include information disclosure (the iDEFENSE-reported
bug), denial-of-service (CVE-2004-0414, CVE-2004-0416,
CVE-2004-0417 and other bugs), or possibly arbitrary code
execution (CVE-2004-0418). In very special situations where
the attacker may somehow influence the contents of CVS
configuration files in CVSROOT, additional attacks may be
possible.