####################################################################### Luigi Auriemma Application: SAPlpd and SAPSprint http://www.sap.com Versions: SAPlpd <= 6.28 SAPSprint <= 1018 Platforms: Windows Bugs: various buffer-overflow vulnerabilities Exploitation: remote Date: 04 Feb 2008 Author: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduction 2) Bugs 3) The Code 4) Fix ####################################################################### =============== 1) Introduction =============== SAPlpd is a small and very old (2001) line printer daemon for Windows which is included in the SAP GUI package. ####################################################################### ======= 2) Bugs ======= The daemon is affected by various vulnerabilities which, for brevity, I have decided to list through the lpd commands (in hex) accepted by the program: commands type of bug 01 31 memcpy 02 32 memcpy + sprintf "Receive job for printer %s (berkley protocol)\n" 03 04 33 34 sprintf "QUERY = %s\n" + multiple strcpy 05 35 multiple strcpy 53 server termination ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/saplpdz.zip ####################################################################### ====== 4) Fix ====== Vendor contacted, a patch will be released soon. #######################################################################