-
-
Couldn't load subscription status.
- Fork 533
Open
Labels
bugSomething isn't workingSomething isn't working
Description
What happened?
A quick read of the code suggests the following defects:
- When TLSA records include both the DANE-EE(3) usage and DANE-TA(2), it appears that BOTH must match
- That is, if no usage DANE-EE(3) records match, the DANE-TA(2) records are not considered
- When only DANE-TA(2) records are published, the chain is verified using WebPKI trust anchors, and then required to match one of the DANE-TA(2) records, which is PKIX-TA(0) semantics, not DANE-TA(2).
- It is unclear how TLSA base domain is determined, when DANE is in effect, the TLSA base domain should be used as the SNI hostname and should also be the hostname checked when verifying DANE-TA(2) chains, which need not be anchored at a WebPKI CA, so DANE-TA(2) verification needs to override the trust-anchors to enable anchoring the chain at a possibly non-self-signed (subsidiary/intermediate) CA, or a private root, or a WebPKI root, ... And the TA is almost always in the form of a hash, so the verification logic is custom code, distinct from the standard PKIX logic.
- When both DANE-EE and DANE-TA records are published, the TLSA base domain is ignored for matching the EE cert, but MUST be verified when matching issuer certs.
- A strictly correct implementation would also allow the nexthop (typically recipient) domain to match if TLSA base domain does not. And also the MX hostname if distinct from the TLSA base domain (when that is found by CNAME chasing).
How can we reproduce the problem?
I can reproduce the problem by doing the following steps:
Version
v0.13.x
What database are you using?
None
What blob storage are you using?
None
Where is your directory located?
None
What operating system are you using?
None
Relevant log output
Code of Conduct
- I agree to follow this project's Code of Conduct
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working