Vulnerabilities > CVE-2005-4831 - Cross-Site Scripting vulnerability in Viewcvs 0.9.2

047910
CVSS 4.3 - MEDIUM
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
PARTIAL
Availability impact
NONE
network
viewcvs
nessus

Summary

viewcvs in ViewCVS 0.9.2 allows remote attackers to set the Content-Type header to arbitrary values via the content-type parameter, which can be leveraged for cross-site scripting (XSS) and other attacks, as demonstrated using (1) "text/html", or (2) "image/jpeg" with an image that is rendered as HTML by Internet Explorer, a different vulnerability than CVE-2004-1062. NOTE: it was later reported that 0.9.4 is also affected.

Vulnerable Configurations

Part Description Count
Application
Viewcvs
1

Nessus

NASL familyCGI abuses
NASL idVIEWCVS_HTTP_RESPONSE_SPLITTING.NASL
descriptionThe remote host is running ViewCVS, a tool to browse CVS repositories over the web written in python. Flaws in the remote version of this website may allow an attacker to launch cross-site scripting and/or HTTP response-splitting attacks against the remote install.
last seen2020-06-01
modified2020-06-02
plugin id16062
published2004-12-28
reporterThis script is Copyright (C) 2004-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/16062
titleViewCVS < 1.0.0 Multiple Vulnerabilities
code
#
# (C) Tenable Network Security, Inc.
#


include("compat.inc");

if(description)
{
 script_id(16062);
 script_version("1.24");
 script_cve_id("CVE-2004-1062", "CVE-2005-4830", "CVE-2005-4831");
 script_bugtraq_id(12112, 11819);

 script_name(english:"ViewCVS < 1.0.0 Multiple Vulnerabilities");
 
 script_set_attribute(attribute:"synopsis", value:
"The remote web server is affected by cross-site scripting issues." );
 script_set_attribute(attribute:"description", value:
"The remote host is running ViewCVS, a tool to browse CVS repositories
over the web written in python. 

Flaws in the remote version of this website may allow an attacker to
launch cross-site scripting and/or HTTP response-splitting attacks
against the remote install." );
 script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?c3821f3f" );
 script_set_attribute(attribute:"solution", value:
"Upgrade to ViewCVS 1.0.0 or newer." );
 script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:N");
 script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
 script_set_attribute(attribute:"exploitability_ease", value:"No exploit is required");
 script_set_attribute(attribute:"exploit_available", value:"false");
 script_cwe_id(20, 74, 79, 442, 629, 711, 712, 722, 725, 750, 751, 800, 801, 809, 811, 864, 900, 928, 931, 990);

 script_set_attribute(attribute:"plugin_publication_date", value: "2004/12/28");
 script_set_attribute(attribute:"vuln_publication_date", value: "2003/12/29");
 script_cvs_date("Date: 2018/08/06 14:03:14");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_set_attribute(attribute:"cpe", value:"cpe:/a:viewcvs:viewcvs");
script_end_attributes();

 script_summary(english:"viewcvs flaw");
 script_category(ACT_GATHER_INFO);
 script_copyright(english:"This script is Copyright (C) 2004-2018 Tenable Network Security, Inc.");
 script_family(english:"CGI abuses");
 script_dependencie("http_version.nasl");
 script_require_ports("Services/www", 80);
 script_exclude_keys("Settings/disable_cgi_scanning");
 script_require_keys("www/PHP");
 exit(0);
}

# Check starts here
include("global_settings.inc");
include("misc_func.inc");
include("http.inc");


port = get_http_port(default:80);
if( ! can_host_php(port:port) ) exit(0);
foreach dir (make_list( cgi_dirs() ) ) 
{
 r = http_send_recv3(method:"GET", item:dir + "/viewcvs.cgi/", port:port);
 if (isnull(r)) exit(0);
 res = strcat(r[0], r[1], '\r\n', r[2]);
 if ( 'Powered by<br><a href="http://viewcvs.sourceforge.net/">ViewCVS 0.' >< res )
 {
	 security_warning(port);
	 set_kb_item(name: 'www/'+port+'/XSS', value: TRUE);
	 exit(0);
 }
}