A flaw in a computer program, which may allow someone to perform action(s) not intended by the author of the program.
Almost all complex computer programs have vulnerabilities. Most are not serious and cannot be used to perform dangerous actions. Whenever a vulnerability is known (to one or several persons), it may be used as an exploit.