Invoicing is currently broken

shawnkhall
Contributor
Contributor

I submitted at ticket at PayPal, and received a response from PayPal that I should contact the domain referenced and tell them to whitelist all mail from PayPal's IP addresses. Talk about not getting it. PayPal is the domain at the source of the problem. I contacted them, and they just don't get it. Here, I'll lay it out as plainly as I can for you.

 

The problem? The PayPal Invoice tool is forging the MAIL FROM command. This is bad. 

 

This occurs with every invoice we send thru the new PayPal interface. It's broken. Period.

 

The bottom line is: PayPal is FORGING email "from" me, when it should be coming "from" service#paypal.com. PayPal is one of THE most phished services in the world. Are you telling me that you really don't understand the SMTP protocol enough to send a legitimate message yourselves?

 

Let's start with SMTP 101:
  http://www.faqs.org/rfcs/rfc2821.html
  http://www.faqs.org/rfcs/rfc4409.html

I know SMTP has only been a standard for about THIRTY years, but seriously, hasn't PayPal learned ANYTHING with the amount of paypal forgeries out there?

 

Here's a few select quotes, with simplified explanations below each:

 

  "The first step in the procedure is the MAIL command.
      MAIL FROM:<reverse-path> [SP <mail-parameters> ] <CRLF>"

 

The <reverse-path> is what you are forging or "spoofing". This is a violation of both SMTP and SPF. Please fix it. I'd stop here, but clearly you don't understand SMTP well enough without someone holding your hand.

 

  "Similarly, when forwarding a message from another environment into
   the Internet, the gateway SHOULD set the envelope return path in
   accordance with an error message return address, if supplied by the
   foreign environment.  If the foreign environment has no equivalent
   concept, the gateway must select and use a best approximation, with
   the message originator's address as the default of last resort."

 

To boil that down for you, that says "don't forge the address used in the MAIL FROM command". To help you understand the situation here, I'll add "even if it's coming through the PayPal invoicing tool."

 

  "Efforts to make it more difficult for users to set envelope return
   path and header "From" fields to point to valid addresses other than
   their own are largely misguided: they frustrate legitimate
   applications in which mail is sent by one user on behalf of another
   or in which error (or normal) replies should be directed to a special
   address."

 

This says, "Yes, Paypal, you really are doing it wrong and there are better and more accurate ways to code your application!"

 

  "Historically, the <reverse-path> was a reverse source routing list of
   hosts and a source mailbox.  The first host in the <reverse-path>
   SHOULD be the host sending the MAIL command."

 

This says "the MAIL FROM command should have a paypal.com address if it's actually coming from a paypal server!"

 

  "An SMTP-capable host SHOULD support both the alias and the list
   models of address expansion for multiple delivery.  When a message is
   delivered or forwarded to each address of an expanded list form, the
   return address in the envelope ("MAIL FROM:") MUST be changed to be
   the address of a person or other entity who administers the list."

 

This says the exact same thing. Again.

 

  "For example, some sites might configure their MTAs to reject all RCPT
   commands for messages that do not reference local users, and
   configure their MSA to reject all message submissions that do not
   come from authorized users, with authorization based either on
   authenticated identity or the submitting endpoint being within a
   protected IP environment."

 

This says it is fully appropriate for my server to refuse mail with a forged sender. EVEN IF PayPal thinks it's okay. Especially if it's forging MY OWN address as the source.

 

  "NOTE:  It is better to reject a message than to risk sending one that
   is damaged.  This is especially true for problems that are
   correctable by the MUA, for example, an invalid 'From' field."

 

Hey check it out: they actually tell people to block messages with spoofed addresses!

 

  "If an MSA is not able to determine a return path to the submitting
   user, from a valid MAIL FROM, a valid source IP address, or based on
   authenticated identity, then the MSA SHOULD immediately reject the
   message.  A message can be immediately rejected by returning a 550
   code to the MAIL command."

 

Twice!


Another good place to read is OpenSPF, especially this section on cross-user forgery:
  http://www.openspf.org/RFC_4408#cross-user-forgery

 

  "It is up to mail services and their MTAs to directly prevent
   cross-user forgery: based on SMTP AUTH (RFC 2554), users
   should be restricted to using only those E-Mail addresses
   that are actually under their control (see RFC 4409, Section
   6.1)."

 

And once again, a completely different protocol says that forging the MAIL FROM address is wrong. Duh.


More? http://www.openspf.org/RFC_4408#mfrom-ident

  "The "MAIL FROM" identity derives from the SMTP MAIL command (see
   RFC 2821). This command supplies the "reverse-path" for a message,
   which generally consists of the sender mailbox, and is the
   mailbox to which notification messages are to be sent if there
   are problems delivering the message."

 

This means that ERRORS aren't even going back to PayPal now because their invoice system is like, totally broken? Yep.

 

  "SPF clients MUST check the "MAIL FROM" identity. SPF clients
   check the "MAIL FROM" identity by applying the check_host()
   function to the "MAIL FROM" identity as the <sender>."

 

That's exactly what I've been saying now for several days. And PayPal staff have ignored or white-washed because they really just "don't get it".


Seriously, this is NOT rocket science. All you need to do is go into the source of your invoicing application and change the part where it sends the "MAIL FROM" command to use an email address that YOU control. This has ALWAYS been "service#paypal.com" or "sendmail#paypal.com" in the past, but if you want to spice it up a little I'll understand.

 

The bottom line is, you MUST NOT forge addresses within the MAIL FROM command. Doing so breaks the rules, and will really upset every single user in the whole world that sends invoices thru PayPal. Frankly, your ignorance of the problem and your unwillingness to even look into it make me want to publicly lambaste you for launching a project AT PAYPAL that intentionally spoofs addresses. After more than a decade of facing spoofing problems of your own, do you REALLY not understand that this is wrong?

 

I'll bet if you actually reviewed the number of PAID invoices since this launch you'd find it were significantly less than usual. Why? Because forged messages get rejected and you don't even get copies of the return messages - since that part is forged. Golly, I'll bet you could even review your own SMTP logs for 5.5.x errors and quickly see tens of thousands of messages relating to SPF.

 

Instead, you pass it off as if I don't know what I'm talking about, or even worse, that every ISP in the world should provide a specific EXCEPTION to the rules for PayPal, since they're an "important" business. It doesn't matter how "important" your business is if you're doing it WRONG!

 

This is no doubt why phishers are so effectively exploiting PayPal users. It's not that the users are too stupid to figure it out, but that PayPal itself doesn't even understand the problem.

 

-Shawn

Login to Me Too
7 REPLIES 7

staginglt
Contributor
Contributor

Yes, this is a MAJOR problem.  I've experienced both ends of this already:  I have customers who say they've never received invoices, and I haven't been receiving e-mail notification of invoices from my wholesalers either, due to the messages being filtered out or kicked back.

 

PayPal - PLEASE go back to sending invoice notifications the old way!

 

Login to Me Too

gscoolidge
Contributor
Contributor

Thank you Shawn for your detailed post, this makes sense and unfortunately appears to still be broken at least for me.  I sent my first 4 invoices yesterday to test accounts and none were received.  If I click to Remind or Cancel, those emails sent are received instantly.  So, now I've got to decide whether to use the Reminder option and explain to every customer that this is their first invoice or use the Request Money option.  I wanted to go with the invoices since it looks professional but I will test it out.

 

Please PayPal, can you get this fixed so we can use this awesome feature!!  It will only make you MORE $$ !

Login to Me Too

gscoolidge
Contributor
Contributor

Success!!   Hello all, I believe I figured this out.........on my invoice I had told it NOT to include my email address.  This is what appears to have caused the problem when PayPal then tried to monkey with the From: mail to address.   When I included one of the email addresses on my PayPal account on the invoice it went through.  I know this now because it sends you a confirmation email when the invoice is emailed out and I'd never received that before now.

 

So this isn't perfect but it's something, please pass it on!!

Login to Me Too

shawnkhall
Contributor
Contributor

I received a message from PayPal Merchant Tech Support on Friday saying that they've fixed it:

"We appreciate your patience. This message is to inform you that the issue was resolved through a recent live site update."

 

It's possible that you're seeing the new behavior and it's really fixed now. As soon as I have the opportunity to test it myself and review the server logs, I'll post an update here.

Login to Me Too

Invoice system is still broken.... still not recieving "sent" invoices when checking with multiple email addresses and systems.  Please get this fixed??!!

 

Is there an account setting or other trick to get this to work?

Login to Me Too

Midland_IS
Member
Member

I wish I had looked on here before I started using the invoice service.

 

Yesterday I sent my first invoice to  a client using the system. The client received it no problem at all and they paid it straight away. All good so far. I even checked in the payment history screen and there was the payment.....all even better. All this happened at 10:30 yesterday (6th June)

 

I get back in last night, having instructed 3rd parties to start work as the client had paid and the funds had cleared....looked at the paypal account and now it unhelpfully says, that the transaction is "under review" to be exact is says....

 

Wait until Payment Review has been completed for this transaction before posting the item.

  • To help protect you, PayPal is reviewing this payment.
  • The review process may take up to 24 hours.
  • We'll contact you as soon as we reach a decision.
  • You should not send the item until we let you know the payment has cleared. If the payment clears, you may proceed to process the order. To find out if your item is covered, check the 'Seller Protection' section of the 'Transactions Details' page and ensure that it states 'Eligible'.

 

Now I am lost. I can issue a refund as that button is there but I'm currently potentially out of pocket. I asked my client if they had any notification or problem in their paypal screen and they said that they had just paid by credit card and don't use paypal. So it looks like the problem is all mine without any real detail coming from paypal on what the problem is. (Oh and it is now past 24hrs and no ststus update)

 

To be honest, getting a payment service from one of the suppliers to the Federation of small businesses is looking like a far more cost effective option if this is how life is going to be. having read stories on here of payments held for months in some cases.  For those in the same position as me, go look for the FSB. I'm taking out one of their suppliers £20 a month services.

 

The long and the short of this though is that I think PayPal are trying to expand outside of the reason for their existence, namely as a payment broker for ebay auctions. The normal business transaction activities appear to not be in their field of experience or their systems abilities to cope with in an acceptable fashion. It is one thing to be taking a payment for up to £100 from an ebay auction. Quite another when you have £3,000 transactions blocked.

 

Sorry to rant, just my 2p worth on the subject.

Login to Me Too

shawnkhall
Contributor
Contributor

I just reviewed the server logs for both an invoice item and an invoice receipt. The invoice receipt is finally using the standard paypal "mail from" so was received correctly. The actual invoice, however, is still being forged so is still being rejected for violating SPF.

 

Does PayPal really still not understand how this works?

Login to Me Too

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.