there’s no way they did this..

Поделиться
HTML-код
  • Опубликовано: 20 ноя 2024

Комментарии • 1 тыс.

  • @LowLevelTV
    @LowLevelTV  5 дней назад +125

    you know what else is unforgivable? not checking out lowlevel.academy (and getting a DISCOUNT?)

    • @felix8452
      @felix8452 5 дней назад

      I would buy a good ghidra course.

    • @CrittingOut
      @CrittingOut 5 дней назад +1

      "I can't believe a company isn't held legally responsible" XD

    • @skiiwars8991
      @skiiwars8991 5 дней назад

      Any chance you will be offering student discounts in the future? I’ve started doing picoCTF and hackthebox challenges for a school club and think that the courses would be great learning resources for building applications with c but the price feels a bit too prohibitive

    • @liquathrushbane2003
      @liquathrushbane2003 5 дней назад +3

      How long do you expect a company to support their software after EoS/EoL?

    • @cyberwarfare-yt1wq
      @cyberwarfare-yt1wq 5 дней назад +1

      bro. you have the style, you have the knowledge, and you have the courage. I liked your talk, your analysis, damn how I love these videos...keep going.

  • @Exilum
    @Exilum 5 дней назад +1357

    The guy who wrote the safe_system code is definitely a different person from the one who wrote account. I can't believe it is any other way

    • @kapstersmusic
      @kapstersmusic 5 дней назад +265

      Exactly. The person who wrote safe_system probably got into arguments with the person who wrote account, who told them to not to worry about it. Some manager then told them to ship it and move on. Then the manager got their bonus for delivering on time.

    • @Exilum
      @Exilum 5 дней назад +98

      @kapstersmusic I would assume the person who wrote safe_system never saw what the one who wrote account did. That would be gross negligence to not replace these 4 lines with their better, ready-made equivalents. Safe string processing is part of the standard, and safe_system is just there. Even without changing the string processing, just using safe_system to make sure the exploitable buffer overflow isn't literally ready to use as-is would be 2 seconds well spent. The security researcher would have maybe spent hours instead of minutes to get a working exploit.

    • @rufmeister
      @rufmeister 5 дней назад +43

      The problem is not one programmer not being up to the task of writing safe code; or people talking to each other... the problem is quality assurance and testing. A company should never assume that a person doesn't make mistakes, it's about validation and testing. And D-Link apparently doesn't care enough about the quality of their products.

    • @svaira
      @svaira 5 дней назад +8

      @@Exilum I would guess safe_system is from some sort of library, and the call to it was copy-pasted, but the account program was new and written by someone trying to only use the C standard library or sth like that, maybe because they didn't know how the Posix API worked, would be my guess.

    • @ehsnils
      @ehsnils 5 дней назад +9

      @@svaira Or the other way around where the account software was from an older era some 30 years ago where things like this didn't really matter since it was executed from the root prompt.

  • @End0fst0ry
    @End0fst0ry 5 дней назад +1777

    It's not a bug, it's a low effort backdoor

    • @no_name4796
      @no_name4796 5 дней назад

      The CIA was too busy trying to kill fidel castro...

    • @himothaniel
      @himothaniel 5 дней назад +29

      Semantic arguments are fun, but that's all they are. Backdoors target vulnerabilities. Vulnerabilities are bugs.

    • @bolivianPsyOp
      @bolivianPsyOp 5 дней назад +151

      I think they’re implying it was intentional

    • @RaquelFoster
      @RaquelFoster 5 дней назад +76

      @@himothanielCondescending responses to comments you don't understand are fun, but that's all they are.

    • @himothaniel
      @himothaniel 5 дней назад +21

      You can read condescension into my comment if you like, but there wasn't any there. A small joke went over my head. I can acknowledge that.

  • @ArchaeanDragon
    @ArchaeanDragon 5 дней назад +1169

    "Buy another NAS", definitely won't be a D-Link, I can tell you that for nothing.

    • @FrankEBailey
      @FrankEBailey 5 дней назад +49

      QNAP or Synology should use this as free advertising for their newest kit

    • @dieSpinnt
      @dieSpinnt 5 дней назад

      @@FrankEBailey WTF are you?
      Buy the stuff and install firmware, that can be called that way:
      OpenWRT !!!

    • @adammontgomery7980
      @adammontgomery7980 5 дней назад +21

      ​@@FrankEBaileyI think Synology had a zero day like 2 weeks ago

    • @dancom6030
      @dancom6030 5 дней назад +3

      ​@@adammontgomery7980 was the zero day as stupid as this one?

    • @df23
      @df23 5 дней назад

      @@dancom6030 its not the first...

  • @kaleycrum6350
    @kaleycrum6350 5 дней назад +628

    This is actually a genius level move by D-Link:
    They not have to fix *past* bugs because they deem their hardware antiquated.
    Also!
    They also don't have to fix *future* bugs because they just scared away their entire customer base

    • @ditrypand8273
      @ditrypand8273 5 дней назад +14

      they are just playing multi-dimansional chess 😆

    • @aieverythingsfine
      @aieverythingsfine 5 дней назад +9

      XD 200 iq

    • @KoRNeRd
      @KoRNeRd 5 дней назад

      @@dave7244 but the bug was present on day 1.

    • @robhulluk
      @robhulluk 5 дней назад

      @@dave7244 The 340L was released in 2015, and according to the dLink website "This product was phased out on: 29/10/2017", so maybe they were available for sale until then (and maybe even after that date from some retailers).

    • @PMA65537
      @PMA65537 4 дня назад

      @@dave7244 Are you using D-Link's suggested NTP server?
      en.wikipedia.org/wiki/D-Link#Server_misuse

  • @nomore6167
    @nomore6167 5 дней назад +88

    "D-Link US recommends retiring and replacing D-Link devices that have reached EOL/EOS" - To which every owner should say, "No problem, I'll replace it with a different brand".

  • @danmac_au
    @danmac_au 5 дней назад +314

    The funny thing for me is the vulnerability means you could recompile the account command to use safe_system and then use the vulnerability to download the patched account binary to the NAS, fixing the hole.

    • @michaelwaters1358
      @michaelwaters1358 5 дней назад +70

      Now this is bug fixing

    • @snowSecurityneeded
      @snowSecurityneeded 5 дней назад +77

      lol that is amazing maliciously fixing bugs its like bethesda game modders.

    • @justincondello
      @justincondello 5 дней назад +8

      Might as well install a webshell while you are at it.

    • @HelloWorld5985
      @HelloWorld5985 5 дней назад +24

      Great idea. Shame its a read only file system.
      Shouldnt be upto the fbi or whitehats to fix easy fixes like this.

    • @JohnDoe-bd5sz
      @JohnDoe-bd5sz 5 дней назад +8

      That was my initial thought as well.
      Seems this could be fixed rather easily, even by "hackers".
      The guy running this channel could probably make the patch, Linksys refuses to do, in a matter of minutes.

  • @steveftoth
    @steveftoth 5 дней назад +415

    This is what happens when you have 2 teams not talking to each other. One team did it right, the other not so much.

    • @richcole157
      @richcole157 5 дней назад +8

      Even if they audited the code they wrote who’s to say the unix utilities calling were audited. The usernames etc should have been sanitized to remove any non alphanumeric characters, so their safe system is anything but safe. Anyway it was a great video. Even with input sanitation, the fact it is calling other programs makes it a crapshoot.

    • @IvanToshkov
      @IvanToshkov 5 дней назад +7

      @@richcole157 It looks like the vulnerability can be triggered through the `pw` field and it is much harder to sanitize it in the way you suggest for `name`.

    • @memyshelfandeye318
      @memyshelfandeye318 5 дней назад +16

      Do you really think they have _teams_ working on that? More likely one part of the code was written by one overworked guy at one time, the other part written by another overworked unqualified guy at another time, and all copy-pasted together by an unpaid intern later ...

    • @IvanToshkov
      @IvanToshkov 5 дней назад +8

      @@memyshelfandeye318 Well, that's like 2 teams right there! :D

    • @richcole157
      @richcole157 4 дня назад +1

      @@IvanToshkov good point.

  • @aieverythingsfine
    @aieverythingsfine 5 дней назад +129

    Imagine how chuffed the guy was finding this bug, like "yeah im definitley getting a payout, they will be so glad i found it!", just to be told to feck off and that the fix was buy their new products XD
    Poor bloke

    • @bmanpura
      @bmanpura 5 дней назад +10

      Nah, said bloke can scour the internet for eol products to hack. Win win.

    • @aieverythingsfine
      @aieverythingsfine 5 дней назад

      @@bmanpura maybe, it would certainly teach them a lesson, but if your a genuine pen tester/bug bounty hunter your risking your career doing shit like that. The amount of attribution and tracking sites these days is insane.
      One example, I wrote a little article on footprinting Imap/POP3 mail servers last week.
      I googled the article the next day to find that id been entered into an International cyber threat database. The bot armys are real af bro. They had entire maps and models of endpoints and systems just from my write up.

    • @hmartinlb
      @hmartinlb 3 дня назад +5

      Now he's mining bitcoin on your NAS, so whatever.

    • @Rider.404
      @Rider.404 2 дня назад

      😂

  • @crusaderanimation6967
    @crusaderanimation6967 5 дней назад +132

    HOT TAKE:
    If vendor stops supporting product because if it's out of live even with such security critical cases, we as society should stop supporting copyrights related to it.
    Granted here there's probably not that much to protect, but if there's any copyright protection on that code, it should vanish, reverse engineering ? Producer orphaned it, we're not gonna prevent people to adopt this child.
    Re distributing binaries ? If it's not worth for you to fix it it's not worth to us to chase people that copied it.

    • @tyrannosaurus_x
      @tyrannosaurus_x 4 дня назад +26

      That should not be hot take at all. If aren't making money on your copyrighted thing, what are you protecting it for? Kind of same with games. Your game is not officially available for purchase? People get to crack it and share it freely without consequences.

    • @crusaderanimation6967
      @crusaderanimation6967 4 дня назад +6

      ​@@tyrannosaurus_x Yea honestly that take developed because of stop killing games initiative in the first place.
      And not even about "Me wants to play games that aren't available" thing ( be it it's still valid approach) or that company isn't making money anyway, i mean questioning how system works in much broader way.
      We as society agreed to protect data, (art work code, design so on) (which i'm not against to be clear, my problem starts and ends with how system work currently not with existence of system) and at this point we agreed to do so at ridiculous time frame, Mickey Mouse famously entered public domain in 2024, a artwork from between world wars period, i'm from Poland, in our calendar that's like two invasions ago, neither of my parent's were alive when it came out, and they had me at ridiculous old age, they grew up in different world, telephones were rare, cars too, country was still firm in grip of USSR and iron curtain divided Europe, i grew up in free Poland, wit ability to free travel across Europe because of shengen, with internet access since i could remember, YT raised me as much as mu parents did, it gave me skills to get job as programmer. My father born in 1945, after Mickey was created, and died in 2018 before it entered public domain. I tell you all this to hammer point how long time frame we're talking about, and how much of commitment society gives to copyrighted work.
      Even if it was out of print for years, even if original company isn't supporting it since decades, last entry in IP was made before my country in it's current form was established, it stil will be protected.
      In return(and i'm talking mostly about video games, but somewhat applies to software in general), they mercifully allow us to rent their software for unspecified amount of time, for usually not so small sums of money, and usually with right to take said license away at a whim without a reason.
      Again, not for abolishing copyright entirely.
      But i think in current situation "tail is wiggling the dog", and either copyright retention shorten, new causes for artwork entering public domain established or both.
      (Perhaps it should work a bit trade mark, if you don't use it, you louse it.)

    • @veryCreativeName0001-zv1ir
      @veryCreativeName0001-zv1ir 4 дня назад +1

      it's a 14 year old NAS

    • @crusaderanimation6967
      @crusaderanimation6967 4 дня назад

      @veryCreativeName0001-zv1ir and you're point is ?

    • @thezouave7636
      @thezouave7636 3 дня назад +1

      This is a great idea! Added to the list of things I'd want to change.

  • @xmine08
    @xmine08 5 дней назад +92

    So a common, old-school Shell Injection vulnerability. The Bobby Tables of system("command").

    • @russellstyles5381
      @russellstyles5381 5 дней назад +6

      For clueless - xkcd reference. Someone embedded a "Drop table" command in child's name. Deleted main database at school.

    • @aieverythingsfine
      @aieverythingsfine 5 дней назад +2

      Like a day 1 training scenario lol

    • @gearboxworks
      @gearboxworks 3 дня назад

      @xmine08 - That is "Little" Bobby Tables to you. 😂

  • @ParkourGrip
    @ParkourGrip 5 дней назад +49

    The team that wrote the "account" program assumed that their program is only going to be used by users that are already authenticated inside the machines shell. The team that wrote the HTTP server thought that the "account" program is safe to execute with parameters controlled by the unauthenticated user.

    • @xjjfjfdjdh9993bbhhhh5hjjjjd
      @xjjfjfdjdh9993bbhhhh5hjjjjd 4 дня назад +16

      You probably hit the most likely explanation. Unfortunately, the bigger problem is D-Link unwilling to update it or at least send out a crisis report to news agencies to let customers know.
      I did see someone hint at mandatory open sourcing for deprecated software. I think that would definitely help, because the person who finds the bug could patch it. Maybe we need to promote open source routers now?

    • @prophetzarquon1922
      @prophetzarquon1922 2 дня назад +2

      Open source radio transmitters have a remarkably hard time getting FCC approval... Qualcomm isn't the _only_ reason Qualcomm radio chips continue to use closed-source code.
      It's really annoying; the efforts to block true direct mobile-to-mobile LTE, were so coordinated, one could almost be forgiven for mistaking those efforts as good-faith "interference prevention".
      Open wireless is anathema to regulation; it's been stomped on, one product launch after another, my whole life or more.

  • @mikaay4269
    @mikaay4269 5 дней назад +274

    "Fuck you, pay me" is a genius strategy when most of your customers do not have consumer protection laws

    • @afjer
      @afjer 5 дней назад +34

      And any attempt to pass consumer protection would be lobbied (read: "bribed") away by the powerful corporations that would be impacted by it.

    • @mikaay4269
      @mikaay4269 5 дней назад

      @afjer this is why people become cyber criminals, stupidity

    • @Joe3D
      @Joe3D 5 дней назад +6

      No consumer protection law protects your from end of life products. In fact in Europe it's only 3 years warranty for a new product. Some pro or enterprise products get 5 or 10 years warranty but then consumer laws don't apply because the buyer acts as a company not individual.

    • @KillerQ13
      @KillerQ13 5 дней назад

      Reminds me of a time a car dealership sent me lottery thing in the mail. Said I won a $50 gift card. Had a number to verify. Verified as valid. Walked into the car dealership and it was a "raffle" with the winning numbers already picked. Mine was not one of those numbers. Told them fuck you and that I'm never coming there again. The kind of idiot that looks at and buys a car after that is next level stupid.

    • @Bill_Bacon
      @Bill_Bacon 5 дней назад +2

      Neither does the Mafia - thanks for the Goodfellas quote.

  • @play-good
    @play-good 5 дней назад +207

    New vulnerability found in D-Link NAS devices
    D-Link : It's not my problem, it's yours

    • @92sieghart
      @92sieghart 5 дней назад +6

      @@play-good "sorry,we sold it to you,so your problem now"

    • @GashimahironChl
      @GashimahironChl 5 дней назад +20

      @@92sieghart D-Link, the last big company around that still respects ownership 🤣🤣

    • @dieSpinnt
      @dieSpinnt 5 дней назад

      .oO( Who did buy that s. in the first place? ... ROTFL )

    • @MelroyvandenBerg
      @MelroyvandenBerg 5 дней назад +2

      at least open source this sht

  • @hereticerik
    @hereticerik 5 дней назад +163

    As a person that has programmed for 30+ years, that is absolutely insane. The incompetency is astounding. If D-link can't fix things like this, then don't buy D-link products, it's that simple. They clearly don't care about their customers.

    • @nullvoid3545
      @nullvoid3545 5 дней назад +8

      But D-link is just A subsidiary of netgear, which own A good majority of home routers currently distributed.

    • @nomore6167
      @nomore6167 5 дней назад +1

      Yes, it is truly astounding. I've done some PHP programming for myself and some friends, and did some professionally a number of years ago. One of the first things I did was write a shell command to read all PHP files and find all instances of "if X = Y", and I used that shell command during and after each programming session to ensure that I never accidentally assigned a value when I intended to query it. Checking for calls to system() would be similar (I never used system calls, so I never needed to do such checks, but it would have been simple to check for them). If I -- a single individual -- could do some simple checking and validation to prevent problems, then surely a corporation such as D-Link could have done so.

    • @SergeantExtreme
      @SergeantExtreme 5 дней назад

      @@nullvoid3545 What? No it's not. D-Link is a subsidiary of the Taiwanese Steel Group. They have no affiliation to Netgear. Why would you post blatantly false information like that?

    • @null-0x
      @null-0x 5 дней назад +2

      @@nullvoid3545 this is what happens when a company is a monopoly (or almost one).

    • @RandomAcronyms
      @RandomAcronyms 4 дня назад

      ​@@nullvoid3545Netgear and D-Link are unrelated companies.

  • @dynad00d15
    @dynad00d15 5 дней назад +407

    D-Link has been a security liability since the 2000's. :)

    • @BotDetector-44
      @BotDetector-44 5 дней назад +9

      As long as you keep using EoL devices, that's on you buddy

    • @dynad00d15
      @dynad00d15 5 дней назад +31

      @@BotDetector-44 what are you taking about?

    • @sootikins
      @sootikins 5 дней назад +60

      @@dynad00d15 Just ignore him - he's a D-Link salesman!

    • @cooperised
      @cooperised 5 дней назад +18

      @@dynad00d15 I'm assuming that was sarcasm. I'm _hoping_ that was sarcasm...

    • @BotDetector-44
      @BotDetector-44 5 дней назад +1

      @@sootikins Right, because manufacturers update their software after 14 years from their initial release date. You guys might be some retards or a bit clueless how things work when producing hardware and software components but hey, I'm a salesman, you got me

  • @EpicLPer
    @EpicLPer 5 дней назад +79

    Synology could do the funniest PR thing and give your a 10% discount buying one of their products when you own one of those exploitable NASes

    • @jay.jarosz
      @jay.jarosz 4 дня назад +13

      Synology has it's own security issues unfortunately. Their security settings page forces you to give a phone number for 2FA setup, but SMS 2FA is easily exploitable.

    • @gearboxworks
      @gearboxworks 3 дня назад +1

      Synology give up 10% margin? Who are you kidding?!? 🤔

  • @joshuaonly
    @joshuaonly 3 дня назад +7

    I like collar-shirt Ed. He said "You shouldn't have your NAS with its, like, butt, in the ether-net port, facing out into the internet..." omg. I lol too hard at the mental picture that paints.

  • @RaquelFoster
    @RaquelFoster 5 дней назад +49

    It's hard to imagine a scenario where this is an isolated incident. At any competent organization, the first time something similar happened, the dev-sec-ops team would've forced all kinds of commit/deploy hooks checking for system calls and requiring the lead/PO to sign off that they weren't doing something stupid. This makes all D-Link hardware sketchy. They're not a new company, and they're not small, and they're not new to making routers.

    • @BTrain-is8ch
      @BTrain-is8ch 5 дней назад +4

      Exactly how many "competent" organizations do you think exist now? Three? Four?

    • @GamesFromSpace
      @GamesFromSpace 5 дней назад

      Before the first time, hopefully.

    • @Alan.livingston
      @Alan.livingston 3 дня назад

      Took their development queues off Crowdstrike.

  • @sundhaug92
    @sundhaug92 5 дней назад +36

    D-Link once made a router where the web-server ran in kernel-mode and had debug-commands

    • @jorelplay8738
      @jorelplay8738 4 дня назад +3

      I had once a dlink router, and it was losing connection about once a day, so I had to unplug and plug it again. I decided to update the firmware, in the hope that it would be fixed. After the update, the connection was dropping every 20-30 mins. Horrible experience. I installed de-wrt (which fixed everything) and never got a dlink device ever again.

    • @Daniel15au
      @Daniel15au 4 дня назад +1

      This server is running as root (or the CGI binaries are setuid) if it can add users via a web request.

  • @JellyLancelot
    @JellyLancelot 5 дней назад +71

    As a Junior, I was terrified of making mistakes like this. As a Lead, I now realise how most of the world runs on software that people go out of their way to make utter s**t. Ask a locksmith and they'd always rather have software locks, ask a software dev and they'd always rather have physical locks. When you know, you know how bad things are lmao

    • @MyAmazingUsername
      @MyAmazingUsername 5 дней назад +14

      Dude, the physical locks thing is so true. When I found out about lockpicking, I took a thin, flat piece of metal and just raked my apartment lock. In 30 seconds it was unlocked. Most locks are a joke. 😐

    • @aieverythingsfine
      @aieverythingsfine 5 дней назад +10

      I do both (locksmith/safesmith and pentesting). None of it works XD

    • @capturedflame
      @capturedflame 3 дня назад +3

      ​@@aieverythingsfinethat's a terribly unfair thing to say... lockpicks and cracks work perfectly

    • @aieverythingsfine
      @aieverythingsfine 3 дня назад +2

      @@capturedflame XD

    • @prophetzarquon1922
      @prophetzarquon1922 2 дня назад +2

      I was in disbelief about the "cut off a Bic pen & wobble it around in the keyhole" method for circular keys, so I tried it: Took me ~12 minutes the first time,

  • @cheetah2003-z5w
    @cheetah2003-z5w 5 дней назад +47

    A new form of forced obsolesce? Activate all the security flaws after a specific date and refuse to patch them.

    • @JessicaFEREM
      @JessicaFEREM 5 дней назад +6

      Id believe it. Like immediately after some companies want you to upgrade they say "hey there's a backdoor you should stop using the product or your product is gonna be 15% slower"
      Spectre and meltdown, windows XP, apple battery health, etc are ideas that come to mind.

    • @bmanpura
      @bmanpura 5 дней назад +8

      Microsoft refusing to patch critical vulneralibity is how Windows 7 got abandoned. The idea have been around.. _Activating them is a new level of evil_

    • @theRPGmaster
      @theRPGmaster 2 дня назад +2

      1. Push a "security patch"
      2. The patch actually contains vulnerabilities, on purpose
      3. Profit

    • @prophetzarquon1922
      @prophetzarquon1922 2 дня назад

      Ah yes, the μTorrent v≥3.0 approach

  • @rikschaaf
    @rikschaaf 5 дней назад +32

    Prob a junior tech that was tasked to write the account script. This is why you need THOROUGH PR reviews and things like sonar to check for code smells like system and sprintf calls.

    • @speedweasel
      @speedweasel 5 дней назад +13

      yep. you cant just blame a junior for this. multiple people and systems had to fail to allow this code into production.

    • @rikschaaf
      @rikschaaf 5 дней назад +10

      @speedweasel yup, a junior tech should never be blamed for something like this. If a junior dev is accidentally able to get such a bug into production, then a senior dev with bad intentions DEFINITELY would be capable of doing that as well. It's up to your pipeline engineers to make sure that CAN'T happen.

    • @defter6800
      @defter6800 2 дня назад

      @@rikschaaf There is no such thing as code review in Chinese software development world in many places)) Nobody looks code, they just make it work, do some stuff to pass manual and automatic tests and this all. And because there was no code review for years they can't start doing it effectively because everyone is more incompetent and can't spot other people bugs just by looking code (this is separate skill which require not just technical knowledge but also able fast understand code and see whats can goes wrong) Also code review would kill they productivity and increase cost, so for them there is no reason to introduce some "bad" practices from financial perspective)

  • @replicadse
    @replicadse 5 дней назад +71

    When does incompetence become sabotage?

    • @ffwast
      @ffwast 3 дня назад

      When they refuse to fix it.

  • @collin4555
    @collin4555 5 дней назад +17

    Holy moly, if I can get how bad it is without rewinding, it's a really stupid bug

  • @PXAbstraction
    @PXAbstraction 5 дней назад +11

    As someone who has worked in both residential and corporate IT for over 20 years now, I'll never go near D-Link. Garbage products made by a company that does not care. Nothing about this situation surprises me.

  • @diogocruzdiniz3186
    @diogocruzdiniz3186 5 дней назад +31

    I'm loving the channel name exploration in every video

  • @Cobinja
    @Cobinja 4 дня назад +3

    German home router manufacturer AVM handled a security flaw in 2023 completely different. They even patched a model that had been EOL 7 years earlier.

  • @WiteNite867
    @WiteNite867 5 дней назад +6

    I love watching these kinds of videos, it helps me see deeper into how the devices really work.... and that stupidity really knows no bounds....

  • @jenslink9861
    @jenslink9861 5 дней назад +100

    But isn't connecting your NAS to the Internet an advertised feature? "Run your own cloud!"

    • @flarebear5346
      @flarebear5346 5 дней назад +32

      Not like this. If you are going to do that then you should have security measures that can authenticate and restrict what can connect to it.

    • @jenslink9861
      @jenslink9861 5 дней назад

      @@flarebear5346 Yes, I know. But which end user knows this. And now the vendor name is in the press again an they can start their next product.
      Always remember, "The S in IoT is for security" (Need to find this T-Shirt for next week it must be somewhere. )

    • @Rovsau
      @Rovsau 5 дней назад +1

      lmfao

    • @newskybox
      @newskybox 5 дней назад

      You shouldn't have the nas open to the public internet, especially not your admin console. You'd want to have an authentication layer in front of any requests to the applications on your system, or better yet, only allow access to your system through a secure VPN. In the case of this bug, you wouldn't be able to send a request to (target IP)/cgi-bin... if it wasn't already open to the public internet (which again, it shouldn't be), but if it was or say you're connected to the same network, then your whole machine is wide open.

    • @QWERTIOX
      @QWERTIOX 5 дней назад +8

      Just run everything on the local network and have wireguard to connect to it

  • @bparker06
    @bparker06 5 дней назад +58

    I've never in 30 years heard of CGI "typically being a bash script or an ELF"

    • @snake3837
      @snake3837 5 дней назад +16

      @@bparker06 well it was. Even PHP worked/works like that.

    • @ClockDev
      @ClockDev 5 дней назад +17

      In your defence, I've seen more Perl scripts as CGI than bash ones :-)

    • @MorbidEel
      @MorbidEel 5 дней назад +5

      That is probably the case for these sorts of "UI glue for small devices"

    • @cancername
      @cancername 5 дней назад +5

      C, Bash, and Perl are the typical ones.

    • @tin2001
      @tin2001 5 дней назад

      I used to have a shell script to redial the internet set up as a CGI. Anyone on the LAN could reconnect the internet as needed that way. We paid per call back then for local calls, so doing it this way made it convenient, but saved calls at night when no one was using it. There was a 4 hour session limit on our ISP.

  • @nagi603
    @nagi603 3 дня назад +4

    Dlink basically "F U pay me *again*!" surely inspires customer confidence in their products.

  • @MyAmazingUsername
    @MyAmazingUsername 5 дней назад +7

    Wow thanks. Never buying D-Link (or their parent Netgear), ever. This passed code review?!

    • @marsovac
      @marsovac 5 дней назад +1

      You think they did code reviews? Dlink in 2012 probably didn't even use a code repository, let alone agile development.

  • @wolcek
    @wolcek 5 дней назад +20

    D-link? You mean the company unable to understand how email works? Whatever they did, I'm not surprised.

  • @tomnussbaumer
    @tomnussbaumer 4 дня назад +1

    I have abandoned using any D-LINK devices decades ago (around 2005-6) for exactly these kind of practices (and bugs). It's almost unbelievable they are still doing these things after all these years and are still part of the market ...

  •  5 дней назад +5

    First mistake they made was buying a D-link. If I see d-link device on customer’s network it has immediately to go out.

  • @privateness.network
    @privateness.network 3 дня назад +1

    I was particularly impressed by your mastery to size up the thing and communicate in relevant-human-readable. Coding is a dark art already (which is a compliment).

  • @MichaelOfRohan
    @MichaelOfRohan 5 дней назад +5

    Bad code is always dangerous, but dangerous code is not always an accident.

  • @apedanticpeasant1447
    @apedanticpeasant1447 5 дней назад +4

    I will never again in my life buy D-Link equipment and will encourage all of my clients to do the same.

    • @apedanticpeasant1447
      @apedanticpeasant1447 5 дней назад +2

      Anyone who doesn’t take security seriously has no business being a vendor. Samsung and SONOS I’m looking at you.

  • @satoshimanabe2493
    @satoshimanabe2493 5 дней назад +13

    According to Wikipedia: "In 2022, D-Link obtained the TRUSTe Privacy seal, certification of ISO/IEC 27001:2013 and BS 10012."
    Certifications truly mean nothing!

    • @Daniel15au
      @Daniel15au 4 дня назад

      This device is way older than 2022 so I'm not sure what your point is.

  • @nwsome
    @nwsome 4 дня назад +2

    Security goes against D-Link's core values. They have a reputation to uphold.

  • @TheInternetLord
    @TheInternetLord 5 дней назад +3

    As a Gen-Zer even if I hated the collared shirt, that fire jacket makes up for it.

  • @LonkinPork
    @LonkinPork День назад

    I'm honestly astounded at how easy your videos are to understand and follow. My only background in coding was one course that used Python in uni, and a little introductory C++ in high school, but I'm mostly able to keep up with what you're putting down.
    Good vids, is what I mean to say

  • @leok42
    @leok42 5 дней назад +4

    8:36 that's what I call a well organized home dir!

  • @eon-hp5vv
    @eon-hp5vv 2 дня назад

    As primarily a sysadmin with basic programming knowledge, I really appreciate the way you explained the code. Nice and easy to follow and your enthusiasm is very engaging.

  • @tambow44
    @tambow44 5 дней назад +9

    I've heard of people getting dismissed for lesser bugs. this is SUCH a rookie mistake.
    TY for the content

  • @bentomo
    @bentomo 5 дней назад +2

    I absolutely lost it when you described an open port facing WAN as the NAS's butt exposed to the internet

    • @justincondello
      @justincondello 4 дня назад

      Queue penetration joke?

    • @bmanpura
      @bmanpura 2 дня назад +1

      Gives code injection a whole new context innit

  • @zakaryan2004
    @zakaryan2004 5 дней назад +21

    this video literally had "no views" as he said "this video is gonna get no views"

  • @nuttygold5952
    @nuttygold5952 5 дней назад

    Great video, really good!!
    I think an additional (final nail in the cofin) and also good information for the rest of the mortals is, the following
    - How would you fix that issue; to make it safe?
    - What measures could we all take to avoid stupid stuff like this getting out?
    It seems to me they are avoiding fixing it for some reason, which says to me that some company advocated for this fix and they pay big so they don't want to remove it. That security flaw is a feature for some company which is the worst case and the scary part I think.

  • @shellcatt
    @shellcatt 5 дней назад +4

    Like your attitude here! :) Also the colors are so fresh ;)

  • @SDK104
    @SDK104 День назад

    D-Link was previously in the tech news for a vulnerability in some networking product a year or so ago. Think was to do with some hard coded passwords. This didn’t surprise me.

  • @flyviawall4053
    @flyviawall4053 3 дня назад +2

    IMO this is not a bug but a design flaw.
    I can't say it's intended but definitely never thought of it in security perspective(or just abandoned the security scope).
    This is not "fixable", this just shouldn't exist in the first place.
    If you say something EOL so no more security update, OK.
    But if you put something known with flaw(at least we all known), that's not security update. It's just a garbage be advertised as something useful. It should be RECALL.
    Can Tesla say their car has a known risk to explode if you press certain button before EOL but now it's EOL so they won't fix? Elon Musk will be put in jail if so.

  • @mrlithium69
    @mrlithium69 5 дней назад

    you're one of the most competent coders im watching on youtube if not THe best. Good job breaking this down for all the up and coming wizards

  • @petergerdes1094
    @petergerdes1094 5 дней назад +5

    It's frustrating that companies aren't more accountable but please for the love of god don't call for legal accountability. The law can't and shouldn't make it illegal to sell shitty software. The only fix is for consumers to care.
    At worst such a law just ends up making it effectively illegal to pay someone to install OSS since they can't cover the lawsuits if someone finds a bug.
    At best you'll just get a law like they have in the EU which means most upstream providers can only use software that is certified not to have known vulnerabilities. Guess what that encourages? Closed source bullshit that discourages security research.

    • @misarthim6538
      @misarthim6538 5 дней назад

      Indeed, road to hell is paved with good intentions. In 10 years when all the free open source will be pushed out because nobody will be willing to risk going to jail or pay fines for bad code or paying for certification, same people who asked for this will be crying about corporations destroying open source and wondering how we ended up there.

    • @malvoliosf
      @malvoliosf 4 дня назад +1

      “I have never seen a situation so dismal that a policeman couldn't make it worse.”
      - Brendan Behan

  • @LAG09
    @LAG09 День назад +1

    I actually have/had one of the affected devices (DNS-320LW). Bought it in 2012, put the community-made and still maintained custom firmware on it in 2019 when it hit EOL that December. AFAIK it hasn't been sold since 2015 so to not bother with updates a decade after going out of sale and 5 years after going EOL seems perfectly reasonable to me.

  • @cudatox
    @cudatox 4 дня назад +5

    D-Link has a history of doing this. When I was in university, I found a couple of significant bugs in DIR-601 routers that could lead to RCE in many cases. The first bug was a command injection in the router's diagnostics page that let me inject arbitrary shell commands. This page normally requires that the user be authenticated as an administrator to access it. Unfortunately, that authentication was flawed and due to an API endpoint in the router not being properly authenticated, it was possible for a user authenticated as a regular user to generate and download a configuration backup. The administrator password was stored as plain text in this backup. I can imagine most people would not change the default user password, since it isn't privileged.
    I attempted to report this, but every email I sent bounced with an inbox full error. No idea if it was ever patched.

  • @maosenlin4170
    @maosenlin4170 5 дней назад +1

    I've seen more than once maintainers of very active, open source, self-hosted applications saying "our average user does not need enterprise level security features" when they refuse to implement things like mTLS support in their mobile client. Or sometimes they tell you to use treafik as your reverse proxy when you expose the service to wan, while traefik requires the docker socket in a container that is supposed to be facing internet. Absolutely unforgivable.

  • @mallninja9805
    @mallninja9805 5 дней назад +4

    This is the rare occasion I'm actually sort of on D-Links side. They're not even in the NAS business any more. I'm sure there are lots of 0-days lurking in the mountains of EOL hardware & software out there. At some point using old stuff becomes "use at your own risk"

    • @ShiltoCrarpo
      @ShiltoCrarpo 4 дня назад

      I don't like D-Link, at all, but I completely agree. For all we know, their engineers discovered this among other things, and that's WHY they killed the product. Corpo's would never call an end of life without immense pressure from the engineers, not while there's still any free milk left to squeeze.

    • @xjjfjfdjdh9993bbhhhh5hjjjjd
      @xjjfjfdjdh9993bbhhhh5hjjjjd 4 дня назад

      It's not an excuse to not inform the public if the info was made known and not allowing for the community to fix the bug on their own.
      If anything, they should write that on the product box with the warranty. If the product is out of warranty, you are at risk of your devices being hacked and the company will not make any further patches to protect you. This is not apparent to any consumer, because we don't know the End Of Life ahead of time and no public announcements are made.
      Maybe this more of a legislative issue regarding packaging, like food expiration dates.

  • @Exilum
    @Exilum 5 дней назад +2

    I'm on the older side of Gen Z but I absolutely despise *wearing* collared shirts. Though I don't mind you having one. It's not tight too, so it doesn't feel like I'm getting choked just by watching.

  • @federicodidio4891
    @federicodidio4891 5 дней назад +3

    That was fun... 😂 I know you know, but I'll pointing out that at 2:34 it is just URL-encoding of plain ASCII, no Base64, so %27 is a single quotation mark and %20 is a space. I would expect the exploit to be a little bit different in the quotation style, by looking at 11:13... is it done on purpose to fool the skids? 🤔Am I blind? 😆Or maybe there was some string replacement along the way...? The stuff is pretty basic nonetheless, LOL 😁

    • @pyaehtetaung
      @pyaehtetaung 5 дней назад

      Place holder for uname n pass

  • @EasyMoney322
    @EasyMoney322 5 дней назад +1

    D-link is also known as bottom-link.
    Even their enterprise switches firmware is not stable, and its distributed from some sketchy ftp server over non-secure connections, without providing the hashsums.
    Its true that this is your problem if you found the bug after the EOSL, but its also your problem if you bought their hardware in the first place. Id suggest avoiding their hardware even if they give it away for free, as long as you want to use it as-intended.

  • @rz2374
    @rz2374 5 дней назад +35

    is nobody going to talk about how those sprintfs probably are a buffer overflow vulnerability as well

    • @steveftoth
      @steveftoth 5 дней назад +41

      He did mention that in the video too but the low hanging fruit is the system call. I mean both need to be fixed and are right next to each other. Not sure how people are going to do that though, if at all.

    • @mirror1766
      @mirror1766 5 дней назад +1

      @@steveftoth by buying a new device - D-Link

    • @-Jakob-
      @-Jakob- 5 дней назад +5

      Please place your checkmark and then try again.
      [ ] I watched the whole video

    • @EdubSi
      @EdubSi 4 дня назад

      No one cares. Probably there are s lot more spots to cover in the firmware. Why would you want a buffer overflow if you have system calls at your hand

  • @LBCreateSpace
    @LBCreateSpace 2 дня назад

    Always learn a lot from you with this stuff. You explain it so well! Keep it up

  • @NetBandit70
    @NetBandit70 5 дней назад +3

    oh you mean that 'computing appliances' aren't like toasters, and are really just computers that need constant updates forever? but I bough this 'appliance' because it is cute and single purpose like a toaster that needs no updates ever

  • @carlgustav7196
    @carlgustav7196 2 дня назад

    That’s hilarious!😆
    I mean, I wrote some php scripts for my department, which themselves call a “exec” command.
    But I switched to borderline paranoia mode, when I wrote that to get all requests sanitised.
    Funny and frightening to see, that those “pros” didn’t bother.

  • @Rovsau
    @Rovsau 5 дней назад +4

    D-LINK. As in the grade.

  • @thepaaji
    @thepaaji 5 дней назад

    Dude Its my first time watching your video and this video just forced me to subscribe to you, just from a single video I got to learn hell a lot. Thanks Man!!

  • @alfosisepic
    @alfosisepic 5 дней назад +3

    0:04 > This video is gonna get no views because I'm wearing a colored shirt and apparently, like, Gen Z hates colors.
    What?

  • @ProfessorRainman
    @ProfessorRainman 5 дней назад

    Just because the exploit was found now (at least publicly) doesn't mean it didn't exist the whole time. Just for that fact alone, they should be required to fix their stuff.
    And you were correct - pants were peed on this side of the wire. Also I grabbed your lifetime subscription, Ed! Really excited to dive in! I've been a Security Engineer for over a decade now, but excited to learn more low-level skills and far more formally!

  • @30p87
    @30p87 5 дней назад +3

    > Gen-Z hates collars
    Not true, I have multiple collars! One even has my name :3

  • @leonkernan
    @leonkernan 5 дней назад +1

    D-Link has had these problems forever. The same thing was going on 10 years ago. Oh wait, it’s the same bloody devices!!

  • @corvusnocturne
    @corvusnocturne 5 дней назад +38

    if your worried about not getting views put on a choker it'll work, trust me

    • @drgabi18
      @drgabi18 5 дней назад +4

      🤨📸

    • @corvusnocturne
      @corvusnocturne 5 дней назад +3

      @@drgabi18 its a proven fact, thats why so many streamers wear them and why so many vtubers have them on their models

    • @drgabi18
      @drgabi18 5 дней назад +1

      @@corvusnocturne Kai Saikota and Fauna are the only vtubers I know that have one, except them, I have never seen anyone with one
      Eric Parker has kitty headphones, so Low Level could learn from him

  • @marekdorobczynski1727
    @marekdorobczynski1727 3 дня назад

    I owned DNS 320 some time ago, but since It doesn't even support SMB v2 I had to give up, and upgrade into something newer, because apparently DLink doesn't give a s*** on this :) This Video made my day, thanks :)

  • @TankR
    @TankR 5 дней назад +4

    Aaaaaand that is another final nail in the coffin for D-link anything now. I mean, on top of the surprise d-link is even a thing anymore still.... But yeah, that kind of reply, without say....releasing some source so the community can support the products they refuse to....has done exactly what they want but not how they want it. Yeah, Ill replace EVERY d-link device with NOT d-link now. Good job on the PR front d-link....morons....

    • @dieSpinnt
      @dieSpinnt 5 дней назад

      Stop it ... stop it!
      Take the hardware and install your own firmware.
      Or ... are you some kind of child? Not?!:)
      OpenWRT

    • @BartonChittenden
      @BartonChittenden 3 дня назад

      D-Link coffins are made of quarter inch balsa wood and three inches of coffin nails.

  • @74Gee
    @74Gee 5 дней назад +1

    It's D-Link. Whenever I see their equipment hanging on walls I'm thinking let's have a poke around in there.

  • @Uvuv6969
    @Uvuv6969 5 дней назад +10

    At thjs point we need to make cyber security flaws illegal. Theres not really another way to force these companies to actually be responsible

    • @someonespotatohmm9513
      @someonespotatohmm9513 5 дней назад +6

      The EU kinda did, atleast they force a minimum ammount of years of updates for things like vulnerabilities now.

    • @Jodlkacke
      @Jodlkacke 5 дней назад

      @@someonespotatohmm9513 yeah we did... on smartphones as long as they are guarantee cases. so 2 years more or less. the d-link stuff mentioned here is EoL since 2017. not really fair to blame somebody to not have updated their old ass fk. anybody here mad at Microsoft for not patching Vista anymore? no? exactly the same thing.

  • @rvft
    @rvft 5 дней назад +2

    03:25 I appreciate the heads up, but sadly, I failed to contain myself.

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 5 дней назад +3

    02:35 where base64?

    • @showmeyourcritz321
      @showmeyourcritz321 5 дней назад

      There is, but you've become so good at reading it in your head that you can't tell anymore 😂😂😂
      Go test if it works with assembly as well 😊😂

    • @RandomGeometryDashStuff
      @RandomGeometryDashStuff 5 дней назад

      @@showmeyourcritz321where anything related to base64 happens?

    • @jyothishkumar3098
      @jyothishkumar3098 4 дня назад

      Mc0Ca

    • @RandomGeometryDashStuff
      @RandomGeometryDashStuff 4 дня назад

      ​@@jyothishkumar3098"McOCa" is 5 characters
      base64 encoding length is divisible by 4
      5 is not divisible by 4

    • @globomantic
      @globomantic 2 дня назад

      It’s not base64 encoded, it’s url encoded. He was just wrong.

  • @cau8777
    @cau8777 5 дней назад

    This channel is soooo good
    You are saving the future of the internet my friend, thanks

  • @jearlblah5169
    @jearlblah5169 5 дней назад +2

    We need software engineers who, like other professional engineers, can be held personally legally liable for their work.
    The software industry is much too lax with the rigor of their code.

    • @SoftBreadSoft
      @SoftBreadSoft 5 дней назад

      You have to have legal technical standards to have individual liabilities. No such thing in software (and good luck), so who sells the product, the company, takes liability.

    • @dieSpinnt
      @dieSpinnt 5 дней назад

      Your device ... your possession
      I really don't get it that adult man and woman are not able to install ...
      effing OpenWRT !
      Have I uttered a secret? ROTFL

    • @mullergyula4174
      @mullergyula4174 5 дней назад +1

      Wow. And what would that liability be? Perfect code? And for how long? Forever? Why is it not enough to have companies liable?
      Software is more complex than anything else and also not a very relaxed industry for most people.

  • @carl00s01
    @carl00s01 4 дня назад

    I was so invested in the investigation process from the half of the video that I had to put it in fullscreen.

  • @cluberti
    @cluberti 5 дней назад +12

    Not to be "that guy" but these affected hardware platforms were released between 2011 (the 32x devices) and 2014 (340L) - how long *should* a manufacturer support software for a device that was sold that cheaply? I'm curious because while I understand this vulnerability is bad, the fact that they're not patching it on some hardware models that they shipped 10-13 years ago shouldn't really be a knock against them - only the vulnerability being this simple and destructive. Saying they're saying "f off" because they won't update software on some almost 14 year old NAS devices seems a bit unfair and distracts a bit from the discussion around the vulnerability itself.

    • @timotheos0190
      @timotheos0190 5 дней назад +1

      This bug shows that their code is ( guess it) 😂

    • @Aguyinachair
      @Aguyinachair 5 дней назад +5

      ​@@cluberti another way to think about it is that this bug has been around for 10+ years.
      D-link should be fixing this out of principle alone. Otherwise why would anyone trust with their products in the future? The fact that they dont care at all about this pretty simple exploit is a major red flag for any of their existing products. Points to a lack of basic security hardening in their products.
      Imo it shows theyre too focused on making and selling new and shiny things. Instead of products youd feel okay about on your network
      I should add that I never particularly liked D-link already. Feeling pretty justified ngl

    • @GashimahironChl
      @GashimahironChl 5 дней назад +1

      @@Aguyinachair D-Link gear was always bottom tier garbage and that's probably why you don't like it, or been taught not to like it, but having sloppy code that creates pretty glaring security flaws was the final nail in that cheap coffin.

    • @cluberti
      @cluberti 5 дней назад

      Oh I get it, but this is getting what you paid for as a customer. No way DLink is going to pay anyone to fix this code at this point given the price point these sold at when new, and that was a long time ago.

    • @johnosborne9271
      @johnosborne9271 2 дня назад

      That's a very good point but I think in a world where we're pushing towards "net zero"; they should have some basic support for at least 10 years after the last one rolls off the production line. Their EOS policy seems to be 5 years after introduction which seems crazy to me.

  • @Timberius
    @Timberius 3 дня назад +1

    Some companies one should just never deal with.
    This is literally the opposite of the kind of support we have been used to from companies like IBM for example.

  • @johnberkers434
    @johnberkers434 5 дней назад +2

    And no mention was made anywhere about requiring authentication to access the CGI... So even if you could not run arbitrary commands, you could likely still create accounts.

  • @ejennings98
    @ejennings98 5 дней назад +2

    I could not see the collar on your shirt due to the hoodie. I think it was a cool use of obfuscation

  • @user-fk5di4me9c
    @user-fk5di4me9c 3 дня назад

    i'm an swe student and i still don't see myself a good coder programmer I don't understand a lot of concepts and I wasn't passionate about computers in general before entering college. i only know the theoretical concepts but these videos are really making me love the field and wanting to learn more and make me curious more and more!

  • @little_fluffy_clouds
    @little_fluffy_clouds 5 дней назад

    Never bought a Dlink product and after watching this, I never will.

  • @MissionFreiheit
    @MissionFreiheit День назад

    Oh yeah, D-Link. I'm a dev as well as an IT consultant. Got hired for a project because a company was facing issues where their entire network went down intermittently. Turned out they were using D-Link switches everywhere in their network. These switches had a vulnerability that could trigger a packet storm. There was no firmware update or fix. I replaced every single piece of network equipment that was made by D-Link with its CISCO equivalent. This was 5 years ago and their network has been working reliably ever since. D-Link is a total mess.

  • @okunamayanad
    @okunamayanad 4 дня назад +2

    what happened is probably they handed this account application to an intern and they messed up pretty badly

  • @skozzy1968
    @skozzy1968 4 дня назад

    Since I had issues with a NAS and found out they closed down I now see the issues with buying manufatured items and now build my own and use open source NAS software, at least you have more control when you learn a bit

  • @KingZarathus
    @KingZarathus 5 дней назад +1

    It's Little Johnny ;DROP TABLES; but it's your NAS 😂

  • @110jmartin011
    @110jmartin011 3 дня назад

    could not stop laughing at 11 minutes, was not expecting this, looks like a mistake I would make, mind you I am very very bad at coding.
    Thanks for the video, almost as comical as self reflection, but without all the pain that comes alongside it.

  • @gydo1942
    @gydo1942 5 дней назад

    D-link security is horrible, one of their routers had a massive hole where the devs seemingly forgot to remove "command.php" in the release firmware. It does exactly what you think it does, and even without needing a password!

  • @CodeWithCypert
    @CodeWithCypert 10 часов назад

    This was really informative and enjoyable. Thanks for the video!

  • @brettmurphy7588
    @brettmurphy7588 5 дней назад

    Lol @: "the NSAs reverse engineering framework... it also has dark mode, which is awesome." That was gold.

  • @Necropheliac
    @Necropheliac 3 дня назад +1

    This would be incredibly easy for them to patch this. It’s a one line fix. They just don’t want to do it.

  • @Bill_Bacon
    @Bill_Bacon 5 дней назад

    Always informative and on point per topic. Keep up with the videos, and thanks!

  • @lmelior
    @lmelior 2 дня назад

    That account code has to be that "I just whipped this up in a few minutes" code that the founder wrote decades earlier and "it worked" so they never wanted to touch it. Even if that somehow wasn't there until 2018 (there's no way...) it's still actually insane that it took this long to find!

  • @Scoopta
    @Scoopta 5 дней назад +2

    CGIs take lots of other forms...any executable can be a CGI script, back in the day perl was very common

    • @edwardallenthree
      @edwardallenthree 5 дней назад

      And Perl had (has) built-in support for preventing this sort of bug, I mean it wasn't very good, it worked by marking input strings tainted until you did something to untaint them.

  • @scottmacs
    @scottmacs 5 дней назад

    I queued up this vid right after learning that one quarter of all animal species are beetles: some bugs ARE unforgivable. Like birch borers.