View Issue Details

IDProjectCategoryView StatusLast Update
0002677GNUnettransport servicepublic2024-05-03 12:01
ReporterMatthias Wachs Assigned ToMatthias Wachs Due Date
PriorityhighSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.10.0 
Summary0002677: HTTPs should enable validation check to prevent MITM attacks
DescriptionTo prevent MITM attacks the server should send the expected hostname or include it in the certificate. The client should verify the certificate and sent a response containing "I validated you as server with hostname x.y.z"

If the server receives the response with the correct hostname it responds otherwise it disconnects
TagsNo tags attached.

Relationships

related to 0002910 closedMatthias Wachs Add a option field to transport addresses 

Activities

Christian Grothoff

2013-06-25 10:17

manager   ~0007169

We also should add a few bits to the other transport addresses to support things like the SilentKnock feature. Maybe it is time for a generic "options" word to be added everywhere to all addresses, so we can be backwards-compatible in the future?

Matthias Wachs

2013-06-27 15:02

reporter   ~0007195

Implemented in:
tcp
udp
http(s) client / server

Matthias Wachs

2013-06-28 08:44

reporter   ~0007197

Implemented: Servers sets option to verify certificate in address,
client extracts option and tells curl to verify certificate.

But there is no way to interact with curl while verifying the certificate:
Connection fails if connection cannot be verified

Christian Grothoff

2013-07-10 21:50

manager   ~0007228

That sounds fine, if validation is on and cert fails to validate, connections should fail IMO. So is this 'fixed'?

Matthias Wachs

2013-07-11 06:42

reporter   ~0007234

I think note 7197 can be misunderstood:
The option to verify is included in the address, not the certificate itself.

So an attacker can create a valid certificate for the hostname the server uses.

Matthias Wachs

2013-07-11 16:00

reporter   ~0007237

Implementation as described above fixes the problem

Issue History

Date ModifiedUsernameFieldChange
2012-11-30 16:13Matthias WachsNew Issue
2012-11-30 16:13Matthias WachsStatusnew => assigned
2012-11-30 16:13Matthias WachsAssigned To => Matthias Wachs
2012-11-30 16:20Matthias WachsDescription Updated
2012-12-22 15:19Christian GrothoffProduct Version => Git master
2012-12-22 15:19Christian GrothoffTarget Version => 0.10.0
2013-03-18 14:00Christian GrothoffPrioritynormal => high
2013-06-25 10:17Christian GrothoffNote Added: 0007169
2013-06-26 08:02Matthias WachsRelationship addedrelated to 0002910
2013-06-27 15:02Matthias WachsNote Added: 0007195
2013-06-28 08:44Matthias WachsNote Added: 0007197
2013-07-10 21:50Christian GrothoffNote Added: 0007228
2013-07-11 06:42Matthias WachsNote Added: 0007234
2013-07-11 16:00Matthias WachsNote Added: 0007237
2013-07-11 16:00Matthias WachsStatusassigned => resolved
2013-07-11 16:00Matthias WachsResolutionopen => fixed
2013-12-24 19:54Christian GrothoffStatusresolved => closed
2024-05-03 12:01Christian GrothoffCategoryHTTP transport => transport service