CODESYS Multiple Vulnerabilities (Oct 2012) - Active Check
🗓️ 29 Oct 2012 00:00:00Reported by Copyright (C) 2012 Greenbone AGType
openvas🔗 plugins.openvas.org👁 210 Views
| Reporter | Title | Published | Views | Family All 21 |
|---|---|---|---|---|
| CODESYS Runtime Toolkit Command Execution | 19 Sep 201600:00 | – | bdu_fstec | |
| CODESYS Runtime Toolkit Arbitrary File Read Write | 19 Sep 201600:00 | – | bdu_fstec | |
| CODESYS Runtime Toolkit Command Execution | 26 Jan 201700:00 | – | bdu_fstec | |
| CODESYS Runtime Toolkit Arbitrary File Read Write | 26 Jan 201700:00 | – | bdu_fstec | |
| CVE-2012-6068 | 21 Jan 201321:00 | – | cve | |
| CVE-2012-6069 | 21 Jan 201321:00 | – | cve | |
| CVE-2012-6068 3S CoDeSys Improper Access Control | 21 Jan 201321:00 | – | cvelist | |
| CVE-2012-6069 3S CoDeSys Relative Path Traversal | 21 Jan 201321:00 | – | cvelist | |
| EUVD-2012-5942 | 7 Oct 202500:30 | – | euvd | |
| EUVD-2012-5943 | 7 Oct 202500:30 | – | euvd |
10
# SPDX-FileCopyrightText: 2012 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only
if (description)
{
script_oid("1.3.6.1.4.1.25623.1.0.103599");
script_cve_id("CVE-2012-6069", "CVE-2012-6068");
script_tag(name:"cvss_base", value:"10.0");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:C/I:C/A:C");
script_version("2023-09-07T05:05:21+0000");
script_name("CODESYS Multiple Vulnerabilities (Oct 2012) - Active Check");
script_xref(name:"URL", value:"http://www.securityfocus.com/bid/56300");
script_xref(name:"URL", value:"https://dale-peterson.com/2012/10/25/new-project-basecamp-tools-for-codesys-200-vendors-affected/");
script_xref(name:"URL", value:"https://www.cisa.gov/news-events/ics-advisories/icsa-13-011-01");
script_tag(name:"last_modification", value:"2023-09-07 05:05:21 +0000 (Thu, 07 Sep 2023)");
script_tag(name:"creation_date", value:"2012-10-29 18:46:26 +0100 (Mon, 29 Oct 2012)");
script_category(ACT_ATTACK);
script_tag(name:"qod_type", value:"exploit");
script_family("General");
script_tag(name:"solution_type", value:"VendorFix");
script_copyright("Copyright (C) 2012 Greenbone AG");
script_dependencies("gb_codesys_tcp_detect.nasl");
script_require_ports("Services/codesys", 2455);
script_mandatory_keys("codesys/tcp/detected");
script_tag(name:"summary", value:"Devices using the CODESYS Runtime Toolkit are prone to multiple
vulnerabilities.");
script_tag(name:"vuldetect", value:"Sends a crafted TCP request and checks the response.");
script_tag(name:"insight", value:"The following flaws exist:
- CVE-2012-6068: The Runtime Toolkit in CODESYS Runtime System 2.3.x and 2.4.x does not require
authentication, which allows remote attackers to execute commands via the command-line interface
in the TCP listener service or transfer files via requests to the TCP listener service.
- CVE-2012-6069: The CODESYS Runtime Toolkit's file transfer functionality does not perform input
validation, which allows an attacker to access files and directories outside the intended scope.
This allows an attacker to upload and download any file on the device. This could allow the
attacker to affect the availability, integrity, and confidentiality of the device.");
script_tag(name:"solution", value:"Contact the vendor of the device about infos on a fixed
firmware.");
exit(0);
}
include("byte_func.inc");
include("dump.inc");
include("misc_func.inc");
include("port_service_func.inc");
port = service_get_port(default: 2455, proto: "codesys");
soc = open_sock_tcp(port);
if (!soc)
exit(0);
# nb:
# - based on https://github.com/digitalbond/Basecamp/blob/master/codesys-shell.py
# - this is an active check for CVE-2012-6069, an active check for CVE-2012-6068 is done in gsf/2017/gb_codesys_mult_vuln.nasl
cmd = raw_string(0x92, 0x00, 0x00, 0x00, 0x00, '?', 0x00);
set_byte_order(BYTE_ORDER_LITTLE_ENDIAN);
cmd_len_little = mkword(strlen(cmd));
set_byte_order(BYTE_ORDER_BIG_ENDIAN);
cmd_len_big = mkword(strlen(cmd));
lile_query = raw_string(0xcc, 0xcc, 0x01, 0x00, cmd_len_little, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, cmd_len_little, 0x00, cmd);
bige_query = raw_string(0xcc, 0xcc, 0x01, 0x00, cmd_len_big, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, cmd_len_big, 0x00, cmd);
send(socket: soc, data: lile_query);
recv = recv(socket: soc, length: 512);
if (!recv) {
send(socket: soc, data: bige_query);
recv = recv(socket: soc, length: 512);
if (!recv) {
close(soc);
exit(99);
}
}
close(soc);
if (hexstr(substr(recv, 0, 1)) == "cccc" && "show implemented commands" >< recv) {
report = 'It was possible to access the CODESYS service without authentication.\n\nResult:\n' + chomp(recv);
security_message(port: port, data: report);
exit(0);
}
exit(99);
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
07 Sep 2023 00:00Current
6.6Medium risk
Vulners AI Score6.6
CVSS 210
CVSS 3.110
EPSS0.05266