Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. *Zero* out of the six pending #curl CVEs are C mistakes.

*Zero* out of the six pending #curl CVEs are C mistakes.

Scheduled Pinned Locked Moved Uncategorized
curl
30 Posts 20 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • bagder@mastodon.socialB bagder@mastodon.social

    *Zero* out of the six pending #curl CVEs are C mistakes. They are all logical mistakes that would have happened anyway even if we had used another language.

    lennybacon@infosec.exchangeL This user is from outside of this forum
    lennybacon@infosec.exchangeL This user is from outside of this forum
    lennybacon@infosec.exchange
    wrote last edited by
    #13

    @bagder See, Daniel, couldn’t you show a bit more engagement in putting the bugs where the public expects them? Call it expectation management…

    1 Reply Last reply
    0
    • bagder@mastodon.socialB bagder@mastodon.social

      *Zero* out of the six pending #curl CVEs are C mistakes. They are all logical mistakes that would have happened anyway even if we had used another language.

      jefftp@hachyderm.ioJ This user is from outside of this forum
      jefftp@hachyderm.ioJ This user is from outside of this forum
      jefftp@hachyderm.io
      wrote last edited by
      #14

      @bagder If I'm understanding you correctly... we need a programming language that doesn't allow the programmer to make logical mistakes?

      🤔 A programming language that doesn't follow logic...

      Are you re-writing curl in COBOL?

      1 Reply Last reply
      0
      • levitte@mastodon.nuL levitte@mastodon.nu

        @bagder @tdelmas
        Nah. Rewrite it all in Common Lisp. No mistakes can happen then...

        corpsmoderne@mamot.frC This user is from outside of this forum
        corpsmoderne@mamot.frC This user is from outside of this forum
        corpsmoderne@mamot.fr
        wrote last edited by
        #15

        @levitte @bagder @tdelmas 💯 . You just have to be extra careful when you write this (do-curl) macro 😬

        1 Reply Last reply
        0
        • tdelmas@mamot.frT tdelmas@mamot.fr

          @bagder You know that's not completely true. They may have happened, yes.

          But with a finite time to write and review the code, all the time taken focusing on avoiding "C mistakes" could have been used focusing of the logic instead.

          (Also, languages with stronger types do provide states and types encapsulation that can help avoid some types of logic mistakes)

          A This user is from outside of this forum
          A This user is from outside of this forum
          amoshias@esq.social
          wrote last edited by
          #16

          @tdelmas @bagder which language doesn't have the possibility of mistakes?

          1 Reply Last reply
          0
          • tdelmas@mamot.frT tdelmas@mamot.fr

            @bagder You know that's not completely true. They may have happened, yes.

            But with a finite time to write and review the code, all the time taken focusing on avoiding "C mistakes" could have been used focusing of the logic instead.

            (Also, languages with stronger types do provide states and types encapsulation that can help avoid some types of logic mistakes)

            thradams@social.vivaldi.netT This user is from outside of this forum
            thradams@social.vivaldi.netT This user is from outside of this forum
            thradams@social.vivaldi.net
            wrote last edited by
            #17

            @tdelmas @bagder we can also say that C saves time in may cases. (compiling time , time updating tools, time updating code, time learning, time fixing build problems, etc…)

            1 Reply Last reply
            0
            • gloriouscow@oldbytes.spaceG gloriouscow@oldbytes.space

              @floooh @bagder @tdelmas

              As a Rust programmer who started in C and knows all about nasal demons, I find that the Rust borrow checker is a constant reminder that "oops, I might have just tried to make a CVE right there."

              That you must structure a Rust program of any complexity around memory safety is a constant reminder of what things are and are not safe to do. It's not cognitively free, to the frustration of many people new to Rust. So would gently push back on the idea that programming in Rust leads to laziness. Most languages do not complain at all - in C, you only get interested in safety if you get interested in safety.

              I'd also hesitate to call any bug embarrassing, unless it was my own. We've all made some whoppers. These are process failures.

              G This user is from outside of this forum
              G This user is from outside of this forum
              goedelchen@mastodontech.de
              wrote last edited by
              #18

              @gloriouscow @floooh @bagder @tdelmas "So would gently push back on the idea that programming in Rust leads to laziness." The question was, whether there is an overconfidence syndrome, not laziness.

              IMHO, the claim "A language empowering everyone to build reliable and efficient software" is ... uhm... optimistic.

              gloriouscow@oldbytes.spaceG 1 Reply Last reply
              0
              • G goedelchen@mastodontech.de

                @gloriouscow @floooh @bagder @tdelmas "So would gently push back on the idea that programming in Rust leads to laziness." The question was, whether there is an overconfidence syndrome, not laziness.

                IMHO, the claim "A language empowering everyone to build reliable and efficient software" is ... uhm... optimistic.

                gloriouscow@oldbytes.spaceG This user is from outside of this forum
                gloriouscow@oldbytes.spaceG This user is from outside of this forum
                gloriouscow@oldbytes.space
                wrote last edited by
                #19

                @goedelchen @floooh @bagder @tdelmas

                Fair point, my interpretation of overconfidence was that it leads to laziness, but that was indeed not the original point. If you feel something is protecting you, you drop your personal vigilance, vigilance takes effort, thus avoiding effort being a form of laziness.

                Maybe a bit of a leap, but it's my brain and I have to live in here.

                gloriouscow@oldbytes.spaceG ahltorp@mastodon.nuA 2 Replies Last reply
                0
                • gloriouscow@oldbytes.spaceG gloriouscow@oldbytes.space

                  @goedelchen @floooh @bagder @tdelmas

                  Fair point, my interpretation of overconfidence was that it leads to laziness, but that was indeed not the original point. If you feel something is protecting you, you drop your personal vigilance, vigilance takes effort, thus avoiding effort being a form of laziness.

                  Maybe a bit of a leap, but it's my brain and I have to live in here.

                  gloriouscow@oldbytes.spaceG This user is from outside of this forum
                  gloriouscow@oldbytes.spaceG This user is from outside of this forum
                  gloriouscow@oldbytes.space
                  wrote last edited by
                  #20

                  @goedelchen @floooh @bagder @tdelmas

                  As for that quote, optimistic as it may be, there's a kernel of truth to it. There are entire classes of vulnerability that are just not really feasible to create in Rust without an unsafe block or really going out of your way to Find Out.

                  My boldest claim for Rust would be, if you selected some random programmer of indeterminate skill and assigned them the task of writing a file parser that everyone on earth will use, I would absolutely pray they write it in Rust.

                  1 Reply Last reply
                  0
                  • icing@chaos.socialI icing@chaos.social

                    @bagder It would have been harder in Prolog.😌

                    kiskae@hachyderm.ioK This user is from outside of this forum
                    kiskae@hachyderm.ioK This user is from outside of this forum
                    kiskae@hachyderm.io
                    wrote last edited by
                    #21

                    @icing @bagder reality is sadly non-exhaustive

                    1 Reply Last reply
                    0
                    • tdelmas@mamot.frT tdelmas@mamot.fr

                      @bagder You know that's not completely true. They may have happened, yes.

                      But with a finite time to write and review the code, all the time taken focusing on avoiding "C mistakes" could have been used focusing of the logic instead.

                      (Also, languages with stronger types do provide states and types encapsulation that can help avoid some types of logic mistakes)

                      rylik@mastodon.socialR This user is from outside of this forum
                      rylik@mastodon.socialR This user is from outside of this forum
                      rylik@mastodon.social
                      wrote last edited by
                      #22

                      @tdelmas @bagder Sure, and any language other than C was a waste of time, cuz you could’ve just spent that time writing better C.

                      1 Reply Last reply
                      0
                      • bagder@mastodon.socialB bagder@mastodon.social

                        *Zero* out of the six pending #curl CVEs are C mistakes. They are all logical mistakes that would have happened anyway even if we had used another language.

                        rylik@mastodon.socialR This user is from outside of this forum
                        rylik@mastodon.socialR This user is from outside of this forum
                        rylik@mastodon.social
                        wrote last edited by
                        #23

                        @bagder This makes all the Rust people get in the comments like the Spanish Inquisition.

                        1 Reply Last reply
                        0
                        • gloriouscow@oldbytes.spaceG gloriouscow@oldbytes.space

                          @goedelchen @floooh @bagder @tdelmas

                          Fair point, my interpretation of overconfidence was that it leads to laziness, but that was indeed not the original point. If you feel something is protecting you, you drop your personal vigilance, vigilance takes effort, thus avoiding effort being a form of laziness.

                          Maybe a bit of a leap, but it's my brain and I have to live in here.

                          ahltorp@mastodon.nuA This user is from outside of this forum
                          ahltorp@mastodon.nuA This user is from outside of this forum
                          ahltorp@mastodon.nu
                          wrote last edited by
                          #24

                          @gloriouscow @goedelchen @floooh @tdelmas The point should not be that a language protects you from doing something bad, it should be that it frees up cognitive resources that are unnecessarily spent on figuring out what a certain construction does. Those resources can then be used to actually understand the code.

                          floooh@mastodon.gamedev.placeF 1 Reply Last reply
                          0
                          • ahltorp@mastodon.nuA ahltorp@mastodon.nu

                            @gloriouscow @goedelchen @floooh @tdelmas The point should not be that a language protects you from doing something bad, it should be that it frees up cognitive resources that are unnecessarily spent on figuring out what a certain construction does. Those resources can then be used to actually understand the code.

                            floooh@mastodon.gamedev.placeF This user is from outside of this forum
                            floooh@mastodon.gamedev.placeF This user is from outside of this forum
                            floooh@mastodon.gamedev.place
                            wrote last edited by
                            #25

                            @ahltorp @gloriouscow @goedelchen @tdelmas the cognitive load argument may apply to some gc languages, but definitely not to rust 😉

                            ahltorp@mastodon.nuA 1 Reply Last reply
                            0
                            • floooh@mastodon.gamedev.placeF floooh@mastodon.gamedev.place

                              @ahltorp @gloriouscow @goedelchen @tdelmas the cognitive load argument may apply to some gc languages, but definitely not to rust 😉

                              ahltorp@mastodon.nuA This user is from outside of this forum
                              ahltorp@mastodon.nuA This user is from outside of this forum
                              ahltorp@mastodon.nu
                              wrote last edited by
                              #26

                              @floooh @gloriouscow @goedelchen @tdelmas I’m of the firm belief that low-level code should be written with low-level constructions and high-level code with high-level constructions. If that’s possible in the same language, great. If it’s not, multiple languages should be used, but that might of course also have problems.

                              ahltorp@mastodon.nuA 1 Reply Last reply
                              0
                              • ahltorp@mastodon.nuA ahltorp@mastodon.nu

                                @floooh @gloriouscow @goedelchen @tdelmas I’m of the firm belief that low-level code should be written with low-level constructions and high-level code with high-level constructions. If that’s possible in the same language, great. If it’s not, multiple languages should be used, but that might of course also have problems.

                                ahltorp@mastodon.nuA This user is from outside of this forum
                                ahltorp@mastodon.nuA This user is from outside of this forum
                                ahltorp@mastodon.nu
                                wrote last edited by
                                #27

                                @floooh @gloriouscow @goedelchen @tdelmas Very few people were as stupid as me and wrote large amounts of complicated high-level code in 386 assembly well into the ’90s, but in my defence it was code with no security implications and accepting no input.

                                1 Reply Last reply
                                0
                                • bagder@mastodon.socialB bagder@mastodon.social

                                  *Zero* out of the six pending #curl CVEs are C mistakes. They are all logical mistakes that would have happened anyway even if we had used another language.

                                  bagder@mastodon.socialB This user is from outside of this forum
                                  bagder@mastodon.socialB This user is from outside of this forum
                                  bagder@mastodon.social
                                  wrote last edited by
                                  #28

                                  zero out of seven now...

                                  michiel@social.tchncs.deM 1 Reply Last reply
                                  0
                                  • bagder@mastodon.socialB bagder@mastodon.social

                                    zero out of seven now...

                                    michiel@social.tchncs.deM This user is from outside of this forum
                                    michiel@social.tchncs.deM This user is from outside of this forum
                                    michiel@social.tchncs.de
                                    wrote last edited by
                                    #29

                                    @bagder it's the lamp post fallacy. Many memory errors are relatively easy to find, making them a fun target for early static vulnerability analyzers.

                                    Leading to a lot of security bugs related to buffer overruns that were found automatically.

                                    Leading some people to conclude erroneously that since they were the majority of security bugs found, they must represent the majority of all security bugs.

                                    AI vulnerability scans will likely demonstrate they were just the tip of the iceberg.

                                    1 Reply Last reply
                                    0
                                    • tdelmas@mamot.frT tdelmas@mamot.fr

                                      @bagder You know that's not completely true. They may have happened, yes.

                                      But with a finite time to write and review the code, all the time taken focusing on avoiding "C mistakes" could have been used focusing of the logic instead.

                                      (Also, languages with stronger types do provide states and types encapsulation that can help avoid some types of logic mistakes)

                                      greg@icosahedron.websiteG This user is from outside of this forum
                                      greg@icosahedron.websiteG This user is from outside of this forum
                                      greg@icosahedron.website
                                      wrote last edited by
                                      #30

                                      @tdelmas @bagder this is so goofy. all the time you spent posting this comment could have been used to search for missing children instead.

                                      1 Reply Last reply
                                      0
                                      • R relay@relay.mycrowd.ca shared this topic
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups