Results 1 to 5 of 5
  1. #1
    Join Date
    Jun 2006
    Location
    New York, NY
    Posts
    2
    Plugin Contributions
    0

    Default [Done v1.3.5] Security Issue for Storing CVV in Session

    According to the Payment Card Industry's guidelines, the CVV number should NEVER be stored with the credit card number. I'm seeing a specific issue with the manner in which this information is being stored by Zen Cart that could be problematic for all users. Since there is not a general "Security" category in this forum, I'm posting it here as a bug.

    (Refer to the Data Security Standard at https://www.pcisecuritystandards.org...he_pci_dss.htm -- especially section 3.2.2)

    In the file includes/classes/navigation_history.php, the $_POST variables are written directly to the session. This presents two main problems:

    1) Since the credit card information is posted, it gets stored either on disk or in the database. If the disk/database are being backed up, there is a huge risk of credit card information persisting without the store owners being aware of it. Many shared hosts do automated DB and file backups for users on a nightly or weekly basis. Therefore, even if your session table does not allow card information to persist for more than a few days, this data could easily be found on backup media.

    2) The credit card and CVV should never be stored together. When they are both posted, they both get written to the disk/database together. The CVV should not live beyond the HTTP post.

    Specifically, the problem lines are 86 and 121.
    [FONT="Verdana"]Mike Brittain
    (www.mikebrittain.com)
    [/FONT]

  2. #2
    Join Date
    Mar 2004
    Posts
    16,042
    Plugin Contributions
    5

    Default Re: Security Issue for Storing CVV in Session

    sessions are KILLED as soon as the transaction is complete,

    this is handled in the checkout_success.

    and there is only 1 step between checkout_payment and checkout_success
    Zen cart PCI compliant Hosting

  3. #3
    Join Date
    Jun 2006
    Location
    New York, NY
    Posts
    2
    Plugin Contributions
    0

    Default Re: Security Issue for Storing CVV in Session

    The CC and CVV info get stored in session when the user submits the checkout_payment page. There are any number of things that could happen after that which cause the session to persist. The user could decide they don't want to place the order and leave the store. They could continue shopping. In both of these cases, the CC and CVV info persist in session as long as the user never completes their order.
    [FONT="Verdana"]Mike Brittain
    (www.mikebrittain.com)
    [/FONT]

  4. #4
    Join Date
    Jan 2004
    Posts
    66,373
    Blog Entries
    7
    Plugin Contributions
    274

    Default Re: Security Issue for Storing CVV in Session

    As of Zen Cart v1.3.5, $_POST contents are not stored as part of the navigation_history class.

    Upgrading should resolve the concern.
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donate to: DrByte directly or to the Zen Cart team as a whole

    Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
    Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

  5. #5
    Join Date
    Jan 2005
    Location
    Tennessee
    Posts
    1,128
    Plugin Contributions
    0

    Default Re: Security Issue for Storing CVV in Session

    The security number can be stored. Then it must be deleted immediately after you have received you money or if the transaction is denied.

    3.2.2 ... see the Glossary comment.

    Magnetic Stripe Data (Track Data): Data encoded in the magnetic stripe used for authorization during transactions when the card is presented. Entities must not retain full magnetic stripe data subsequent to transaction authorization. Specifically, subsequent to authorization, service codes, discretionary data/ Card Validation Value/CodeCVV, and proprietary reserved values must be purged; however, account number, expiration date, and name, and service code may be extracted and retained, if needed for business

 

 

Similar Threads

  1. Replies: 14
    Last Post: 6 May 2010, 05:20 PM
  2. Authorize.net SIM issue - 3 digit CVV error not shows-up properly
    By milkyway in forum Built-in Shipping and Payment Modules
    Replies: 1
    Last Post: 11 Nov 2008, 12:43 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg
Zen-Cart, Internet Selling Services, Klamath Falls, OR