A vulnerability is a defect in the concrete implementation of hardware, software, protocol or system security policy, which enables an attacker to access or destroy the system without authorization.
For example, the logic error of Intel Pentium chip, the programming error of early version of Sendmail, the weakness of authentication method in NFS protocol, and the improper configuration of Unix system administrator when setting anonymous Ftp service may be exploited by attackers and threaten the security of the system.
Therefore, these can be considered as security vulnerabilities in the system. The narrow concept of bug refers to the loopholes or defects of software programs, and the broad concept also includes the variable details of software discovered and proposed by test engineers or users, or the functional realization different from the requirements documents.
The origin of the name
Grace Hopper, who compiled programs for Mark II, was an American brigadier general, a computer scientist and one of the earliest programmers in the world. One day, while she was debugging the equipment, the machine broke down. After disassembling the relay, she found a moth in the middle of the contact, which "blocked" the operation of the machine.
Therefore, Hobo humorously called program failure deDEBUGging (flying bug) and called program failure debugging. This strange "name" has actually become a professional jargon in the computer field.