Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCRAM-SHA-1(-PLUS) + SCRAM-SHA-256(-PLUS) + SCRAM-SHA-512(-PLUS) + SCRAM-SHA3-512(-PLUS) supports #2940

Closed
Neustradamus opened this issue Aug 6, 2023 · 3 comments

Comments

@Neustradamus
Copy link

Dear @PHPMailer team,

It is time to support secure mechanisms, and it is needed in RFC9051: Internet Message Access Protocol (IMAP) - Version 4rev2.

Can you add supports of :

  • SCRAM-SHA-1
  • SCRAM-SHA-1-PLUS
  • SCRAM-SHA-256
  • SCRAM-SHA-256-PLUS
  • SCRAM-SHA-512
  • SCRAM-SHA-512-PLUS
  • SCRAM-SHA3-512
  • SCRAM-SHA3-512-PLUS

You can add too:

  • SCRAM-SHA-224
  • SCRAM-SHA-224-PLUS
  • SCRAM-SHA-384
  • SCRAM-SHA-384-PLUS

"When using the SASL SCRAM mechanism, the SCRAM-SHA-256-PLUS variant SHOULD be preferred over the SCRAM-SHA-256 variant, and SHA-256 variants [RFC7677] SHOULD be preferred over SHA-1 variants [RFC5802]".

https://xmpp.org/extensions/inbox/hash-recommendations.html

-PLUS variants:

IMAP:

LDAP:

  • RFC5803: Lightweight Directory Access Protocol (LDAP) Schema for Storing Salted: Challenge Response Authentication Mechanism (SCRAM) Secrets: https://tools.ietf.org/html/rfc5803

HTTP:

2FA:

IANA:

Linked to:

@Synchro
Copy link
Member

Synchro commented Aug 6, 2023

PHPMailer doesn't support IMAP at all, so this is all irrelevant.

@Synchro Synchro closed this as not planned Won't fix, can't repro, duplicate, stale Aug 6, 2023
@Neustradamus
Copy link
Author

@Synchro: It must be added for SMTP like old and unsecure mechanisms.

You can see old and unsecure mechanisms here:

Other projects have already SCRAM.

SCRAM-SHA-*-(PLUS) replaces old unsecure SCRAM-MD5, DIGEST-MD5 and CRAM-MD5.
PLAIN replaces LOGIN but it is not really secure.

Thanks in advance.

@Synchro
Copy link
Member

Synchro commented Aug 6, 2023

You're really missing the point here. A lack of support for newer protocols has no bearing on whether we should drop older ones because it's not a client library's call to make. There's no "must" about it. It's all academic anyway – there is almost no security difference between any of them if you're using them over TLS. login vs plain is also uninteresting – they are nearly the same, both are old, both work very well, and both are still extremely common (though cram-md5 is rare). If you're not using TLS it's a different matter, but essentially everybody is (and should be). If you told me that gmail was thinking of dropping XOAUTH2 in favour of these new schemes, it might be interesting, but they're not about to do that.
If you can be bothered to write support for them, I'll accept a PR, but it's really an exercise in RFC box-ticking rather than anything actually useful; it's not as if anyone is being prevented from connecting to anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants