SQL Injection Attack on Airport Security

Interesting vulnerability:

…a special lane at airport security called Known Crewmember (KCM). KCM is a TSA program that allows pilots and flight attendants to bypass security screening, even when flying on domestic personal trips.

The KCM process is fairly simple: the employee uses the dedicated lane and presents their KCM barcode or provides the TSA agent their employee number and airline. Various forms of ID need to be presented while the TSA agent’s laptop verifies the employment status with the airline. If successful, the employee can access the sterile area without any screening at all.

A similar system also exists for cockpit access, called the Cockpit Access Security System (CASS). Most aircraft have at least one jumpseat inside the cockpit sitting behind the flying pilots. When pilots need to commute or travel, it is not always possible for them to occupy a revenue seat, so a jumpseat can be used instead. CASS allows the gate agent of a flight to verify that the jumpseater is an authorized pilot. The gate agent can then inform the crew of the flight that the jumpseater was authenticated by CASS.

[attack details omitted]

At this point, we realized we had discovered a very serious problem. Anyone with basic knowledge of SQL injection could login to this site and add anyone they wanted to KCM and CASS, allowing themselves to both skip security screening and then access the cockpits of commercial airliners.

We ended up finding several more serious issues but began the disclosure process immediately after finding the first issue.

Posted on September 2, 2024 at 7:07 AM8 Comments

Comments

Matthias Urlichs September 2, 2024 7:29 AM

As usual, the government idjits (stronger expletives elided) do all they can to discourage further attempts to responsibly disclose vulnerabilities.

If I were to discover something like this I’d put up a public web site with a detailed exploit (anonymously of course), distribute the URL widely, and watch them scramble.

Bcs September 2, 2024 10:37 AM

Shocked. Appalled. Not surprised.

If anything, I’m more surprised this wasn’t found after some 16 year old used it to get free flights.

Matthias Urlichs September 2, 2024 11:44 AM

Most 16 year olds are too obviously too young.

Anyway. Check out “Catch me if you can” if you want to know to do that sort of thing convincingly.

lurker September 2, 2024 8:54 PM

The old SQL injection trick, eh? SQL, the DB engine used by pros, and abused by amateurs. Drills through bulletproof cockpit doors. The TSA and DHS’ post facto CYA fudging puts them squarely in the amateur camp. 23 years of security theatre for what progress?

C U Anon September 3, 2024 9:06 AM

Lurker:

“23 years of security theatre for what progress?”

About -30 years, call it “crawl back”…

Some remember

‘Brown shirts and double your pay day’

As they became federales on the Government pay-pension&healthcare, better than some pilots were getting…

Morley September 3, 2024 10:00 AM

Sigh… Still using strings as an API. Could at least make the string API a compiler error and require a flag to turn into a warning.

Winter September 4, 2024 1:04 AM

@lurker

23 years of security theatre for what progress?

Maybe security theatre has always been the wrong word as it suggests a real story with actual content?

But, denying toddlers access to planes because they were deemed terrorists? Come on, no theatre play would include that.

I suggest security operetta instead for the DHS, as it always was about the song and dance, not the theatre.

Leave a comment

Blog moderation policy

Login

Allowed HTML <a href="URL"> • <em> <cite> <i> • <strong> <b> • <sub> <sup> • <ul> <ol> <li> • <blockquote> <pre> Markdown Extra syntax via https://michelf.ca/projects/php-markdown/extra/

Sidebar photo of Bruce Schneier by Joe MacInnis.