Penetration Test Report (X41 D-Sec): X41 OSTIF NG 2025 Audit Report Public

SourceCodeAuditonnghttp3andngtcp2
fortheOpenSourceTechnologyandInvestmentFund
FinalReportandManagementSummary
2025-05-06
PUBLIC
X41 D-Sec GmbH
Krefelder Str. 123
D-52070 Aachen
Amtsgericht Aachen: HRB19989
https://x41-dsec.de/
info@x41-dsec.de
OrganizedbytheOpenSourceTechnologyImprovementFund
SourceCodeAuditonnghttp3andngtcp2 OpenSourceTechnologyandInvestmentFund
Revision Date Change Author(s)
1 2025-03-20 FinalReportandManagement C.Mayr,D.Gstir,H.Mösl-Canaval,
Summary L.Kofler
X41D-SecGmbH PUBLIC Page1of23
SourceCodeAuditonnghttp3andngtcp2 OpenSourceTechnologyandInvestmentFund
Contents
1 ExecutiveSummary 4
2 Introduction 6
2.1 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 FindingsOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 RecommendedFurtherTests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 RatingMethodology 12
3.1 CVSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 SeverityMapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 CommonWeaknessEnumeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 Results 16
4.1 Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 InformationalNotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5 AboutX41D-SecGmbH 22
X41D-SecGmbH PUBLIC Page2of23
SourceCodeAuditonnghttp3andngtcp2 OpenSourceTechnologyandInvestmentFund
Dashboard
Target
Customer OpenSourceTechnologyandInvestmentFund
Name nghttp3,ngtcp2
Type SourceCode
Version nghttp3v1.7.0,ngtcp2v1.10.0
Engagement
Type SourceCodeSecurityAudit
4: Christian Mayr, David Gstir, Hannes Mösl-Canaval, Lorenz
Consultants
Kofler
EngagementEffort 25person-days,2025-02-17to2025-03-20
Totalissuesfound 0
Critical - 0
High - 0
Medium - 0
Low - 0
None - 3
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
Figure1:IssuesOverview
X41D-SecGmbH PUBLIC Page3of23
SourceCodeAuditonnghttp3andngtcp2 OpenSourceTechnologyandInvestmentFund
1 Executive Summary
InFebruaryandMarch2025,X41D-SecGmbHperformedaSourceCodeSecurityAuditagainst
the open-source repositories nghttp3 and ngtcp2 to identify vulnerabilities and weaknesses in
thesourcecode.
Nodirectlyexploitableissueswerediscoveredduringtheaudit. However,threeissueswithout
directlysecurityimpactwereidentified.
ngtcp2implementsQUIC,anetworkprotocolaimingtoimprovetheperformanceofconnection-
orientedwebapplications. Ontopofthis,nghttp3implementsHTTP/3,whichaimstoimprove
latencyandloadingtimescomparedtoHTTP/2andearlier.Partofnghttp3isanimplementation
ofQPACK,acompressionformatforHTTPfieldsthatavoidshead-of-lineblockingbyallowing
correctnessduringout-of-orderdelivery.
X41D-SecGmbHconductedacomprehensivesourcecodeauditagainsttherepositoriesinscope.
Theprimaryobjectivewastoidentifyhigh-levellogicbugsinHTTPoverQUIC,aswellasvulner-
abilities that are archetypal of low-level languages like C/C++. The IETF Standard Track doc-
uments were extensively used as reference documentation and for a preliminary threat model
assessment.Foradditionaldynamictesting,auditorsexpandedfuzzingcoveragetospecificcom-
ponentsandextensivelytestedthemusingAFL++.
In a source code audit, all information about the system is available to the team. The test was
performedbyfourexperiencedsecurityexpertsbetween2025-02-17and2025-03-20.
One of the identified informational notes pertains to checking for stateless reset tokens. This
isperformedamongalready-retiredconnections,whereasthespecification(RFC9000)requires
endpointsnottodothis.Thesecurityimpactisconsiderednegligiblebecauseretiredconnections
aremaintainedforonlyafewround-trips,butatminimumwillallowfingerprintingtheimplemen-
tation.
X41D-SecGmbH PUBLIC Page4of23
SourceCodeAuditonnghttp3andngtcp2 OpenSourceTechnologyandInvestmentFund
Theimplementationalsocontainsapotentialtimingsidechannelthatleaksthelengthofpacket
numbers. The code is written quite carefully and avoids major timing discrepancies, but one
instancewasfoundwherealoopisdependentonthepacketnumberlength.Thisisnotcurrently
knowntohaveasignificantsecurityorprivacyimpact.
The lack of security-relevant findings highlights the strong security foundation of the audited
repositories. It underscores the effectiveness of the development practices in place and the
application’sinherentrobustness.
Inconclusion,thesystemsappeartobeonagoodsecuritylevelcomparedtosystemsofsimilar
sizeandcomplexity,aswellasotherimplementationsofthehereimplementedstandards.
X41D-SecGmbH PUBLIC Page5of23
SourceCodeAuditonnghttp3andngtcp2 OpenSourceTechnologyandInvestmentFund
2 Introduction
X41 conducted a review of the open-Source projects nghttp3 and ngtcp2. nghttp3 is an imple-
mentationoftwokeyRFCs1,namely:
• RFC91142:HTTP/3mappingoverQUIC3
• RFC92044:QPACKHeaderCompressionforHTTP/3
Thengtcp2projectimplementstheIETF5 StandardsTracksdefinedby
• RFC90006:QUIC:AUDP7-basedMultiplexedandSecureTransport
• RFC90018:UsingTLS9 toSecureQUIC
• RFC900210:QUICLossDetectionandCongestionControl
• RFC899911:Version-IndependentPropertiesofQUIC
• RFC936912:QUICVersion2
• RFC922113:AnUnreliableDatagramExtensiontoQUIC
• RFC928714:GreasingtheQUICBit
• RFC936815:CompatibleVersionNegotiationforQUIC
BothprojectsarewritteninC.
1RequestforCommentss
2https://datatracker.ietf.org/doc/html/rfc9114
3QuickUDPInternetConnections
4https://datatracker.ietf.org/doc/html/rfc9204
5InternetEngineeringTaskForce
6https://datatracker.ietf.org/doc/html/rfc9000
7UserDatagramProtocol
8https://datatracker.ietf.org/doc/html/rfc9001
9TransportLayerSecurity
10https://datatracker.ietf.org/doc/html/rfc9002
11https://datatracker.ietf.org/doc/html/rfc8999
12https://datatracker.ietf.org/doc/html/rfc9369
13https://datatracker.ietf.org/doc/html/rfc9221
14https://datatracker.ietf.org/doc/html/rfc9287
15https://datatracker.ietf.org/doc/html/rfc9368
X41D-SecGmbH PUBLIC Page6of23
SourceCodeAuditonnghttp3andngtcp2 OpenSourceTechnologyandInvestmentFund
ReviewingHTTP16version3andQUICimplementationsiscrucialforseveralreasons.AsHTTP/3,
basedontheQUICtransportprotocol,becomesmorewidelyadopted,ensuringthatitisrobust,
secure, and efficiently implemented is essential for optimizing web performance, security, and
scalability.MisconfigurationsorvulnerabilitiesinHTTP/3andQUICcanleadtoserioussecurity
issues,includingdataleakage,denialofservice,andtrafficinterception. Therefore,comprehen-
sivereviewsoftheseimplementationshelpidentifypotentialweaknessesandensuretheproto-
col’sproperfunctioningindiversenetworkenvironments.
2.1 Methodology
X41reviewedthesourcecodeinasecuritycodeaudit.
A manual approach for penetration tests and for code reviews is used by X41. This process is
supportedbytoolssuchasstaticcodeanalyzersandindustrystandardwebapplicationsecurity
tools17.
X41adherestoestablishedstandardsforsourcecodereviewingandpenetrationtesting. These
areinparticulartheCERTSecureCoding18standardsandtheStudy-APenetrationTestingModel19
of the German Federal Office for Information Security.A security assessment attempts to find
as many of the existing problems as possible, though it is practically never possible to rule out
the likelihood of additional weaknesses being found in the future. Further, where applicable,
suggestionsofmoreresilientdesignpatternsaregiven.
16HyperTextTransferProtocol
17https://portswigger.net/burp
18https://wiki.sei.cmu.edu/confluence/display/seccode/SEI+CERT+Coding+Standards
19https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/Studies/Penetration/penetrati
on_pdf.pdf?__blob=publicationFile&v=1
X41D-SecGmbH PUBLIC Page7of23
SourceCodeAuditonnghttp3andngtcp2 OpenSourceTechnologyandInvestmentFund
2.2 Findings Overview
DESCRIPTION SEVERITY ID REF
S