SQL Injection Attack on Airport Security (www.schneier.com)
from 0x0@programming.dev to cybersecurity@sh.itjust.works on 03 Sep 2024 08:23
https://programming.dev/post/18925796

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.

#cybersecurity

threaded - newest

jonne@infosec.pub on 03 Sep 2024 08:42 next collapse

Just amazing.

ravhall@discuss.online on 03 Sep 2024 08:56 collapse

In 2024, I thought this was pretty much impossible. I guess that software is ancient.

0x0@lemmy.dbzer0.com on 03 Sep 2024 09:41 next collapse

The beautiful thing about string injection vulnerabilities is that they will never ever stop happening. It’s just too easy to sprintf untrusted input.

ravhall@discuss.online on 03 Sep 2024 14:21 collapse

😭 prepare your queries!!!

0x0@lemmy.dbzer0.com on 03 Sep 2024 14:45 collapse

You know, the reason this happens is that you can ask your database to execute a string type, but languages usually don’t distinguish between a static string and a dynamically constructed string.

Not to proselytize, but this is a place where rust’s lifetime annotations can shine. The DB interface should take a &'static str( and a variable number of parameters to insert) so it can be certain that no untrusted user input has already been injected into the query string. Assuming all static data is trusted, the sql injection vulnerabilities just went poof.

Sadly, it looks like rusqlite’s execute() takes a non-static str. I wonder why.

Telorand@reddthat.com on 03 Sep 2024 12:46 collapse

Bruh, it’s 2024, and banks still don’t have app-based or hardware-based TOTP.

I get that upgrading can be hard, but when you’re safeguarding people’s lives or money (and also PII), I don’t understand how it’s not a legal mandate that you have to meet certain basic security thresholds.

Edit: typo

taladar@sh.itjust.works on 03 Sep 2024 12:56 collapse

I assume you meant PII?

Telorand@reddthat.com on 03 Sep 2024 13:50 collapse

Yes. I should really quit commenting before coffee

cron@feddit.org on 03 Sep 2024 09:00 next collapse

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

How many vulnerabilities can there be in such a safety-critical application?

0x0@programming.dev on 03 Sep 2024 09:20 collapse

No for-profit will bother with security unless forced to, as it’s seen as an expense and shareholders don’t like that.

Edit: also:

We had difficulty identifying the right disclosure contact for this issue. We did not want to contact FlyCASS first as it appeared to be operated only by one person and we did not want to alarm them.

Emphasis mine.

cron@feddit.org on 03 Sep 2024 09:29 collapse

Oh, the old “this is so obscure, nobody will find this out”-excuse

polaris64@lemmy.sdf.org on 03 Sep 2024 09:20 next collapse

…We did not want to contact FlyCASS first as it appeared to be operated only by one person and we did not want to alarm them. On April 23rd, we were able to disclose the issue to the Department of Homeland Security, who acknowledged the issue and confirmed that they “are taking this very seriously”.

I think the owner of FlyCASS was sufficiently alarmed!

0x0@lemmy.dbzer0.com on 03 Sep 2024 09:34 collapse

Why not post the primary source? ian.sh/tsa

0x0@programming.dev on 03 Sep 2024 09:36 collapse

Posted the source i found it through.

0x0@lemmy.dbzer0.com on 03 Sep 2024 14:35 collapse

Understandable. I’m more confused why Bruce ripped off the original blog post.

Cool username, btw

0x0@programming.dev on 03 Sep 2024 14:39 collapse

He does that a lot, although he tends to be more verbose on the topic when he does. Then again, there’s not much to this story (the details, not the implications).