Start here

Home
About Klocwork
What's new
Fixed issues
Release notes
Installation

Reference

C/C++ checkers
Java checkers
C# checkers
MISRA C 2004 checkers
MISRA C++ 2008 checkers
MISRA C 2012 checkers
MISRA C 2012 checkers with Amendment 1
Commands
Metrics
Troubleshooting
Reference

Product components

C/C++ Integration build analysis
Java Integration build analysis
Desktop analysis
Refactoring
Klocwork Static Code Analysis
Klocwork Code Review
Structure101
Tuning
Custom checkers

Coding environments

Visual Studio
Eclipse for C/C++
Eclipse for Java
IntelliJ IDEA
Other

Administration

Project configuration
Build configuration
Administration
Analysis performance
Server performance
Security/permissions
Licensing
Klocwork Static Code Analysis Web API
Klocwork Code Review Web API

Community

View help online
Visit RogueWave.com
Klocwork Support
Rogue Wave Videos

Legal

Legal information

SV.USAGERULES.SPOOFING

Spoofing security vulnerability

Certain system calls, typically DNS lookups, are vulnerable to spoofing. The SV.USAGERULES.SPOOFING checker flags instances of the system calls, gethostbyaddr, gethostbyname, and sethostname, which are potential targets of spoofing because they are dependent on data from the host server.

Vulnerability and risk

Spoofing allows a malicious user to gain trusted status by poisoning the DNS cache. An example of this vulnerability has been identified in Microsoft Internet Explorer, which can be exploited by an attacker to display a fake URL in the address and status bars. In this case, the vulnerability is caused by an input validation error.

Successful exploitation allows an attacker to display an arbitrary fully qualified domain name (FQDN) in the address and status bars which is different from the actual location of the page. This practice can trick users into divulging sensitive information, or downloading and executing malware on their systems, because they trust the faked domain.

Mitigation and prevention

To avoid this vulnerability:

  • Make sure all system input is validated properly.
  • Use IP addresses rather than DNS names. IP addresses can also be spoofed but they are generally more reliable than DNS names.