Comment by jcalvinowens

Comment by jcalvinowens a day ago

16 replies

I upgrade all dependencies every time I deploy anything. If you don't, a zero day is going to bite you in the ass: that's the world we now live in.

If upgrading like that scares you, your automated testing isn't good enough.

On average, the most bug free Linux experience is to run the latest version of everything. I wasted much more time backporting bugfixes before I started doing that, than I have spent on new bugs since.

smaudet a day ago

> zero day is going to bite you in the ass

Maybe your codebase is truly filled with code that is that riddled with flaws, but:

1) If so, updating will not save you from zero days, only from whatever bugs the developers have found.

2) Most updates are not zero day patches. They are as likely to (unintentionally) introduce zero days as they are to patch them.

3) In the case where a real issue is found, I can't imagine it isn't hard to use the aforementioned security vendors, and use their recommendations to force updates outside of a cooldown period.

  • [removed] 13 hours ago
    [deleted]
  • jcalvinowens a day ago

    My codebase runs on top of the same millions of lines of decades old system code that yours does. You don't seem to appreciate that :)

    • smaudet a day ago

      If you mean operating system code, that is generally opaque, and not quite what the article is talking about (you don't use a dependency manager to install code that you have reviewed to perform operating system updates - you can, and that is fantastic for you, but not I imagine what you mean).

      Although, even for Operating Systems, cooldown periods on patches are not only a good thing, but something that e.g. a large org that can't afford downtime will employ (managing windows or linux software patches, e.g.). The reasoning is the same - updates have just as much chance to introduce bugs as fix them, and although you hope your OS vendor does adequate testing, especially in the case where you cannot audit their code, you have to wait so that either some 3rd party security vendor can assess system safety, or you are able to perform adequate testing yourself.

starburst a day ago

Upgrading to new version can also introduce new exploits, no amount of tests can find those.

Some of these can be short-lived, existing only on a minor patch and fixed on the next one promptly but you’ll get it if you upgrade constantly on the latest blindly.

There is always risks either way but latest version doesn’t mean the “best” version, mistakes, errors happens, performance degradation, etc.

  • jcalvinowens a day ago

    Personally, I choose to aggressively upgrade and engage with upstreams when I find problems, not to sit around waiting and hoping somebody will notice the bugs and fix them before they affect me :)

icehawk a day ago

> I upgrade all dependencies every time I deploy anything. If you don't, a zero day is going to bite you in the ass: that's the world we now live in.

I think you're using a different definition of zero day than what is standard. Any zero day vulnerability is not going to have a patch you can get with an update.

  • jcalvinowens a day ago

    Zero days often get fixed sooner than seven days. If you wait seven days, you're pointlessly vulnerable.

    • saurik a day ago

      Only if you already upgraded to the one with the bug in it, and then only if you ignore "this patch is actually different: read this notice and deploy it immediately". The argument is not "never update quickly": it is don't routinely deploy updates constantly that are not known to be high priority fixes.

      • jcalvinowens a day ago

        > The argument is not "never update quickly": it is don't routinely deploy updates constantly that are not known to be high priority fixes.

        Yes. I'm saying that's wrong.

        The default should always be to upgrade to new upstream releases immediately. Only in exceptional cases should things be held back.

    • icehawk a day ago

      Known vulnerabilities often get fixed sooner than seven days.

      You will not know how long it takes to get a zero day fixed, because zero in "zero day" ends when the vendor is informed:

      > "A zero day vulnerability refers to an exploitable bug in software that is unknown to the vendor."

      • [removed] 11 hours ago
        [deleted]