Likes Likes:  0
Resultaten 1 tot 4 van de 4
Geen
  1. #1
    Robert@misait.com
    Jiwa Financials - Reporting allows execution of arbitrary reports
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Jiwa Financials - Reporting allows execution of arbitrary reports





    Date: 28/5/2006



    Product: Jiwa Financials 6.4.14 - http://www.jiwa.com.au/





    Vulnerability: Reporting allows execution of arbitrary reports as SQL user with full SELECT, INSERT, UPDATE, DELETE SQL permissions.





    Product Background

    ---------------------



    On execution Jiwa Financials authenticates users against a username/password database On a SQL server to access that users access level.



    To do this it gets its SQL connection details from a .ini file located on the users Application Data folder called Jiwalog.ini



    The contents of the file are as follows:



    [Connections]

    Count=01

    Connection01=<DatasourceName>,Z:\maininifile.ini



    [Parameters]

    LastSQLLogin=jiwauser

    LastUserName=<last user>

    LastConnectionODBC=<DatasourceName>





    Within maininifile.ini it sets out the users menu amongst other things ie.



    ' Menu Start
    '===========
    ShowGST= 0



    [Modules]
    Count=09
    Module001=Inventory,1
    Module002=Debtors,2
    Module003=Contacts,8
    Module004=Sales Order Entry,3
    Module005=Creditors,7
    Module006=Purchase Orders,5
    Module007=General Ledger,4
    Module008=Monthly Reports,2
    Module009=System,6



    Ok so there’s the main menu drawn for the user – note a standardized .ini file for the entire site is common place

    Placing all modules on the main menu and just restricting access per module when one tries to access it.







    Reporting

    ---------



    When a user executes any menu option to run a report, it loads the report module which is standard across the board and passes

    To the reporting module, the report object that was listed on the menu the user selected.



    The report files are all Crystal Reports and are stored on a common mapped network drive – generally J drive.



    The full path and filename to the .rpt file is detailed on the screen in a textbox with a command button to the right of it that

    Allows the user to browse for another location or report – THIS INCLUDES ANY OTHER MAPPABLE DRIVE AND THE LOCAL COMPUTER DRIVES

    ie. The local My Documents for the evil user.



    This is a feature apparently because it allows the users to specify different report file versions etc





    Ok now for the issue

    --------------------



    User logs into Jiwa Financials, goes into Sales Order Processing which is standard for anyone that generates an invoice – ie. People working out on the front desk selling products over the counter – not a staff level you want to give access to your general ledger or anything else.



    Create a blank crystal report file and point it at a Jiwa table called HR_Staff for example.



    Create the report using a dummy database.



    The username, password and data source including database name is passed to the report at runtime – all you need correct is the table name that you could just get anyway from Systables…



    Now because the guy that works at front counter - although having some remote clue on how to use the Crystal Report Wizard – he doesn’t have access to save the .rpt file to the network drive with the other reports nor would he want to because he may get caught that way so he either saves it to his USB drive and it appears as a locally available drive.



    He goes into his sales order report to look up a customers previous quote or anything remotely using the reporting module - given the application does pretty much everything output wise through different Crystal Reports, that’s pretty easy.



    He then clicks the Command button to change the location of the .rpt file to his USB Drive ie. E:\Evil_Jiwa_RPT\Userlist.rpt



    He then selects “Print To Screen” to the left of the command button.



    He then clicks the “Print Button” and waits for the few seconds it takes to return EVERY JIWA USER’S USERNAME, CLEAR TEXT PASSWORD, FIRST NAME, SURNAME, POSITION IN THE COMPANY AND OTHER DETAILS.





    What has actually happened

    --------------------------



    Because the Jiwa application passes the username/password/data source details directly to the .rpt file, it uses the same SQL user account that the rest of the application uses that has full SELECT, INSERT, UPDATE, DELETE AND EXECUTE rights.

    An example of one of the standard stored proceedures in the Jiwa distribution allows you to drop the primary key from a table with the table name - these stored proceedures are executable from this reporting user.


    Conclusion

    ----------


    This applications technology leaves a lot to be desired.

    When you execute the application, the login screen has “ActiveX Three Teir Client Server” up the left hand side and “Client Server Accounting” written horizontally above the username/password textbox’s.

    The only thing installed on the “SERVER” is Microsoft SQL Server and the Jiwa Database plus a truckload of .rpt files.

    In no way whatsoever is this application a three tier client server solution and that is something the company refuses to accept.

    All usernames and passwords are TRANSMITTED in clear text to the local SQL Server ODBC driver from the application.

    All usernames and passwords are STORED in clear text in the SQL Server Database in the table HR_Staff

    Not even simple base64 encoding has been used.

    There is no administrative control over users menu options.

    Far too many variables are available and changeable on the user end outside the control of the network administrators.

    There is no remote attempt to validate access to reports vs users seen in any previous revisions I have seen and 6.4.14 is current.

    Bottom line – if you have this application on your site – you are vulnerable – at this stage there is no current patch.



    Company Response

    ----------------


    Mr Mike Sheen of Jiwa Australia has responded calling this a low risk. As far as I’m concerned, the general ledger, lists of creditors and debitors is a considerable risk to any company let alone one turning over millions of dollars per year.

    Jiwa have promised to encrypt the passwords in the database in their next commercial release.

    To quote his email on 28/5/06:

    The vulnerability of walking up to any machine running Jiwa, pointing it to an "evil" report to cause malicious damage or reveal sensitive information will remain.

    So it seems the company doesn’t care…

    Regards,


    Robert Passlow

  2. #2
    Mike Sheen
    Jiwa Financials - Reporting allows execution of arbitrary reports
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Jiwa Financials - Reporting allows execution of arbitrary reports

    Secunia security advisory categorises it as "less critical" :
    http://secunia.com/advisories/20342/

    I'm not going to argue with experts - our categorisation of the risk
    level stays as it is.

    Original report (which has been edited) claimed it was a remote exploit
    - this is false, and seems to have only been included in the report for
    added sensationalism.

    There is nothing sensational here.

    The only vulnerability is that an authenticated user may be able to run
    a Crystal Report which could possibly reveal sensitive information,
    should they have the skills to construct such a report.

    Only information at risk is the information contained within the Jiwa
    database, nothing else - no other SQL database, no files on the
    filesystem.

    Bug # 4186 in our system addresses this report redirection
    vulnerability.

    This has been completed in code, and will we part of the next public
    release of the software.

    Password encryption is a todo feature logged way before this was
    reported. No promise was made. My exact words were :

    "...I don't like to comment on un-released products, as changes are
    sometimes withdrawn before release, which can result in disappointment.
    However, I feel some information on where we are heading may do
    something to at least partially reassure you that we are making changes
    to the security within the product..."

    I then went on to cover a number of topics, including password
    encryption, and provided a URL to our bug tracking database for Robert
    to see all we were doing in the software.

    Does a company which does not care provide someone like Robert with a
    URL to their internal bug tracking database ?

    Robert, I strongly suggest you remain factual in your reports in
    future. We will not tolerate vexatious complaints or threats (care for
    me to quote some of your emails to me, here in a public forum ?).


  3. #3
    Mike Sheen
    Jiwa Financials - Reporting allows execution of arbitrary reports
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Jiwa Financials - Reporting allows execution of arbitrary reports

    Robert@misait.com wrote:
    > Date: 28/5/2006
    >
    > When you execute the application, the login screen has "ActiveX Three Teir Client Server" up the left hand side and "Client Server Accounting" written horizontally above the username/password textbox's.
    >
    > The only thing installed on the "SERVER" is Microsoft SQL Server and the Jiwa Database plus a truckload of .rpt files.
    >


    Jiwa the application can be considered the client. Microsoft SQL
    Server can be considered the database server. Hence the term "Client -
    Server". We never claimed we wrote the server part, just that the Jiwa
    system is a Client - Server system.

    I suggest you review your understanding of the term with the following
    (the first google result I found, there are 17,384,487 more if you
    like) :

    >From http://www.sei.cmu.edu/str/descripti...rver_body.html


    "Client/server architecture.
    As a result of the limitations of file sharing architectures, the
    client/server architecture emerged.
    This approach introduced a database server to replace the file server.
    Using a relational database management system (DBMS), user queries
    could be answered directly.
    The client/server architecture reduced network traffic by providing a
    query response rather than total file transfer.
    It improves multi-user updating through a GUI front end to a shared
    database.
    In client/server architectures, Remote Procedure Calls (RPCs) or
    standard query language (SQL) statements are typically
    used to communicate between the client and server"

    This is exactly how Jiwa operates. The client application sends SQL
    statements to the SQL Server for execution.

    You cannot argue in any way that Jiwa Financials is not a client /
    server architecture.

    > In no way whatsoever is this application a three tier client server solution and that is something the company refuses to accept.


    We view our software model as three tier. Probably it would be more
    accurate to say n-tier, as there are actually 4 tiers.

    Our user interface objects are loosely coupled with the business logic
    objects the business logic objects are also loosely coupled to a
    database translation object. The SQL Server database engine can be
    viewed as the final (fourth tier).

    True, our user interface, business logic and db translation layer all
    reside on the same machine, just the SQL Server may (but it is not
    required to) be on a separate machine.

    I see the software model as multi-tiered, as we've separated out each
    layer of the software. I guess it's more a matter of semantics.

    What this has to do with a the report of the original bug, I don't
    know.

    What this has to do with Unix, is even more beyond me.


  4. #4
    Mike Sheen
    Jiwa Financials - Reporting allows execution of arbitrary reports
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Jiwa Financials - Reporting allows execution of arbitrary reports

    We have just released a patch to address the reported vulnerability.


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics