Apache HTTPd Devs ansåg vara skadliga
.
Bakgrund
Under de senaste 25 åren har jag varit den ledande utvecklaren av apreq
delprojekt inom Apache HTTPd-server Överordnat projekt. Den ursprungliga idén om libapreq
som säker/presterande Skicka HTML-formulär och Cookie.
Det var min vision då att omvandla biblioteket till en generisk, icke-Perl relaterad C
bibliotek som skulle stödja språkbindningar från andra programmeringsspråk, vilket är anledningen till att jag tryckte på för projektet att vara hemmagjord under paraplyet HTTPd i stället för Apache-Perl.
Med tillkomsten av httpd-2 X
Ett helt nytt I/O-filter
Arkitekturen kom från httpd
Kärnan, liksom den fullständiga separationen av Effektiv ränta
från själva kärnan som en mer allmän POSIX-liknande portabilitetskörning för C
projekt som Subversion
. Faktiskt, libapreq2
är närmare i linje med Apache, effektiv ränta
projektet i den andan, och dess Perl API återspeglar att som en del av dess APR::Begäran
Utbyggnad. Den har ett inbyggt CGI-läge för fristående drift, utanför httpd
Men den viktigaste komponenten i apreq2
har alltid varit mod_apreq2
Apache-modulen, som först skapades av Bill Wrowe
i början av 2000-talet. Vad han designade under en brainstorming session med mig (personligen) var ett enda parserbibliotek internt till httpd
Jag förklarade designmålen flera gånger under åren, även i 2012 på utveckling@httpd.
Stormmolnsinsamling
Även om denna vision var mycket framgångsrik, med språkbindningar tillgängliga för flera språk som Perl
, Sjukpenning
, TCL
, R
Sedan 2010 har det varit tragiskt för befintlig användargrupp består av alla, inte bara medlemmarna i Perl
Vad hände? Philip Gollucci, en Perl/FreeBSD kollega till mig vid den tiden, började agitera att vi främjar projektet som ska släppas inifrån HTTPd-servern själv. Vad Philip visste inte mycket då var hur fullständigt peevish, vapid och territorial Det laget hade blivitvilket skulle ha inneburit att samarbeta med dem direkt på beslut riktade till användare.
År 2012 fick Philip vad han ville och jag slutade motstå, så han klädd det befintliga projektet och kopierade C
Fallout
Under 2020 eller så, Googles säkerhetsteam utnyttjade en alfa release av httpd 2.5 genom att fuzzing sin 8 år gamla kopia av apreq2
I stället för att ha artigheten att nå ut till Philip, Issac Goldstand, Max Kellermann (@MaxKellermann), mig själv (@joesuf4), eller någon annan som är involverad i utvecklingen av libapreq2
Men coup de grace var 2022 års frigivning av 2.17där rookieutvecklaren avsiktligt infört en dödlig bugg i kodbasen, bryta ett nittonårigt regressionstest.
Efterskott
Om du undrar hur något med ett brutet regressionstest hamnar på CPANDu måste titta på hur KOPPLA OM.
Lång historia kort, De kommenterade testet och skickade det ändå och kallade det en säkerhetsversion som åtgärdade en sårbarhet varje tidigare utgåva var mottaglig för.
.
Varför bryr jag mig nu? För jag är sucker användare når ut till för svar.
Detta suger, men jag är ledsen att berätta att mina dagar bär Superman cape på Apache slutade ungefär ett decennium sedan.