GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Notices by Kees Cook :tux: (kees@fosstodon.org)

  1. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Thursday, 06-Feb-2025 01:54:10 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • K. Ryabitsev ????
    • James Morris
    • Paul Moore

    @securepaul @monsieuricon @jmorris I didn't even know this feature existed! I'm genuinely curious, though: doesn't everyone using certbot just automatically renew? (And don't orgs who need to care about service availability already have an external status checking system?) Again, I'm not trying to be obtuse, but how were these emails used?

    In conversation about 3 months ago from fosstodon.org permalink
  2. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Sunday, 19-Jan-2025 15:19:23 JST Kees Cook :tux: Kees Cook :tux:

    Well I guess everyone everywhere will want to use -fzero-init-padding-bits=all when updating to GCC15 to avoid regressing their uninitialized variable mitigations... Why in the world would the C standard committee work to make things *less* safe by default??!

    Edit: this appears to be a decision on GCC's part and not a new change from the C committee. (See down-thread.)

    https://infosec.exchange/@edmonds/113851256533780886

    In conversation about 4 months ago from fosstodon.org permalink

    Attachments

    1. No result found on File_thumbnail lookup.
      Robert Edmonds (@edmonds@infosec.exchange)
      from Robert Edmonds
      @bert_hubert@fosstodon.org Oh yes I was just idly wondering if that would work, I've already poured over the disassembly and seen the movl's and movb's in the actual broken code 🙂 In the upcoming gcc 15 they have introduced new behavior due to C23 which allows for a standards compliant "= {}" initializer in C that zeroes all the bits (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2900.htm), and they've, coincidentally, taken the opportunity to change the behavior of the "= {0}" initializer from one standards compliant interpretation (zero all the bits) to another standards compliant interpretation (don't necessarily zero all the bits). C23 6.2.6.1 paragraph 7 (same as in previous versions of the C standard): > When a value is stored in a member of an object of union type, the bytes of the object representation that do not correspond to that member but do correspond to other members take unspecified values. There is a new -fzero-init-padding-bits= option in gcc 15 that controls the behavior (https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-fzero-init-padding-bits_003dvalue) which I found completely confusing until I realized gcc uses the term "union padding bits" in a sort of unconventional way. But you don't really want to rely on those new flags in gcc 15 if you can reorder the members of the union and rely on standards compliant "= {0}" initialization. In that case, always remember to put the biggest, strongest member of your union at the front if you want it initialized, just like a real union 😃
  3. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Tuesday, 31-Dec-2024 04:28:21 JST Kees Cook :tux: Kees Cook :tux:

    I generated a 12-character commit SHA prefix collision with the start of Linux's git history. It took about 6 hours on an RTX 3080 GPU:

    https://people.kernel.org/kees/colliding-with-the-sha-prefix-of-linuxs-initial-git-commit

    In conversation about 5 months ago from fosstodon.org permalink
  4. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Monday, 16-Dec-2024 16:24:48 JST Kees Cook :tux: Kees Cook :tux:

    Dear C Lazy Web,

    How do I define an array of nonstring char arrays?

    just a char array, valid:
    char str[4] __attribute__((nonstring)):

    array of char arrays, cursed:
    char multi[10][4] __attribute__((nonstring));

    I've tried typedefs and moving the attribute around. No luck. What am I missing?

    Here's a godbolt:
    https://godbolt.org/z/4Mb61heG1
    I'd want to see a warning for both strlen() instances...

    In conversation about 5 months ago from fosstodon.org permalink

    Attachments

    1. Domain not in remote thumbnail source whitelist: raw.githubusercontent.com
      Compiler Explorer - C (x86-64 gcc (trunk))
      from Matt Godbolt
      struct foo { char str[8] __attribute__((nonstring)); char multi[3][8] __attribute__((nonstring)); int a; }; int len(struct foo *p) { return strlen(p->str) + strlen(p->multi[2]); }
  5. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Thursday, 21-Nov-2024 23:06:21 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • hanno
    • yossarian (1.3.6.1.4.1.55738)

    @hanno @yossarian Ah, I may have it backwards then, but '[' remains the safe one. 😅

    In conversation about 6 months ago from fosstodon.org permalink
  6. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Thursday, 21-Nov-2024 23:06:21 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • hanno
    • yossarian (1.3.6.1.4.1.55738)

    @hanno @yossarian Yeah this was a common recommendation long ago to "avoid bash-isms" for compatibility. Since then busybox and dash (the common non-bash "/bin/sh" instances) grew '[' support either internally or via /usr/bin/[

    In conversation about 6 months ago from fosstodon.org permalink
  7. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Thursday, 21-Nov-2024 22:27:17 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • yossarian (1.3.6.1.4.1.55738)

    @yossarian The use of '[[' is the problem. That's an evaluating comparison and is as dangerous as 'eval' (as shown). All scripts should be using just the single '['. Using '[[' is for compatibility with ancient shells.

    In conversation about 6 months ago from fosstodon.org permalink
  8. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Sunday, 03-Nov-2024 07:59:23 JST Kees Cook :tux: Kees Cook :tux:

    It's nice that an LLM found a bug, but it's also trivially mitigated with the bounds safety sanitizer with virtually no overhead. Your regular reminder to build all production C projects with "-fsanitize=bounds -fsanitize-trap"

    int aIdx[7]; // compiler knows the size of this array
    ...
    int iCol; // if this should not be negative, why is this "int"?
    ...
    aIdx[iCol] = i; // build with bound checking!

    https://infosec.exchange/@ifsecure/113408455787473153

    In conversation about 7 months ago from fosstodon.org permalink
  9. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Friday, 01-Nov-2024 08:03:53 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • daniel:// stenberg://
    • Christoph Petrausch
    • Peter Bindels

    @bagder @hikhvar @dascandy It's still running, but here's through 2018...

    In conversation about 7 months ago from fosstodon.org permalink

    Attachments


    1. https://cdn.fosstodon.org/media_attachments/files/113/404/446/770/300/967/original/19aced2428a74ea3.png
  10. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Friday, 01-Nov-2024 05:35:44 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • daniel:// stenberg://
    • Christoph Petrausch
    • Peter Bindels

    @bagder @hikhvar @dascandy Not sure if you want this too; I ended up tweaking the plot's display of lines slightly with this format:

    set format y2 "%.0s%c"

    So instead of, e.g., 200000, it'll show 200k

    In conversation about 7 months ago from fosstodon.org permalink
  11. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Friday, 01-Nov-2024 05:34:18 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • daniel:// stenberg://
    • Christoph Petrausch
    • Peter Bindels

    @bagder @hikhvar @dascandy LOL. 102 Linux kernel tags, averaging 3 minutes per blame run (so far). 5 hours to generate the data. O_O

    In conversation about 7 months ago from fosstodon.org permalink
  12. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Friday, 01-Nov-2024 05:34:18 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • daniel:// stenberg://
    • Christoph Petrausch
    • Peter Bindels

    @bagder @hikhvar @dascandy Oh this is really nice! You've inspired to generate this for the Linux kernel. The git blames are running now... I parallelized it, but it's still going to take a while! :)

    In conversation about 7 months ago from fosstodon.org permalink
  13. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Wednesday, 23-Oct-2024 01:24:40 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • Thorsten Leemhuis (acct. 1/4)
    • Lorenzo Stoakes
    • Vlastimil Babka

    @ljs @kernellogger @vbabka Why? Just use linux-next. Nothing should go in it that's not ready to go to Linus. Who is it that isn't testing -next? I'm always testing there. All the CIs I see reporting to lkml are testing -next. I genuinely didn't understand what's missing. -next is for testing. Do people need to be reminded to test on _copies_ of their data/images/workloads?

    In conversation about 7 months ago from fosstodon.org permalink
  14. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Wednesday, 25-Sep-2024 00:35:01 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • Kernel Recipes
    • Pavel Machek

    @pavel @KernelRecipes I think of the CNA as doing a first pass at CVEs, and then each deployment can continue triage based on their threat model. This is how it's always been, it's just that severity triage has been moved closer to where it is needed: with those that have a threat model to apply. What has changed is that there isn't yet a place for common threat models to share triage. This used to be the CVEs themself, but that left out all the other threat models and missed tons of fixes.

    In conversation about 8 months ago from fosstodon.org permalink
  15. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Wednesday, 25-Sep-2024 00:35:01 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • Kernel Recipes
    • Pavel Machek

    @pavel @KernelRecipes At the LPC CVE BoF, in a room filled with people who care deeply about this topic, there appeared to be consensus that the CNA has traded many false negatives for a few false positives. (I.e. we are now closer to the imagined objective reality of a 1:1 mapping between fixes and CVEs.)

    In the past, with distros and researchers mostly causing the CVE assignments, the implied threat model was that of a distro, and didn't represent other models. (But still missed fixes.)

    In conversation about 8 months ago from fosstodon.org permalink
  16. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Wednesday, 25-Sep-2024 00:35:00 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • Kernel Recipes
    • Pavel Machek

    @pavel @KernelRecipes Deployments always had an obligation to evaluate vulnerabilities and fix them, but now it has become unavoidable and threat model mismatches are glaringly obvious.

    Yes, it is possible that for a given threat model, there are now a ton of CVEs that will need to have their severity labeled as "don't care". But this was always true -- but no one triaged fixes, they triaged against the prior CVEs, which were a small subset of the distro threat model. Lots of fixes got missed.

    In conversation about 8 months ago from fosstodon.org permalink
  17. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Monday, 23-Sep-2024 23:54:47 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • Kernel Recipes

    @KernelRecipes Sometimes people need reminding that CVEs are just a stand-in for the real goal: fixing vulnerabilities. The point of "the deployment cannot have any CVEs" isn't an arbitrary check list. The goal is to get as close as possible to "the deployment cannot have any vulnerabilities".

    The Linux Kernel CNA solves the "tons of false negatives" problem (but creates the "a few false positives" problem), but the result is a more accurate mapping from vulnerabilities to CVEs.

    In conversation about 8 months ago from fosstodon.org permalink
  18. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Monday, 23-Sep-2024 22:42:40 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • Greg K-H
    • Kernel Recipes

    @KernelRecipes The continuity across upstream messaging has been clear since (probably before) 2017. Same observations then too: https://youtu.be/RKadXpQLmPU#t=2796
    "If you are not using a stable / long-term kernel, your machine is insecure" - @gregkh

    In conversation about 8 months ago from fosstodon.org permalink

    Attachments


    1. https://cdn.fosstodon.org/media_attachments/files/113/187/106/985/443/500/original/0f37460fe00b8f90.png
    2. Kernel Recipes 2017 - Linux Kernel release model - Greg KH
      from Kernel Recipes
      This talk describes how the Linux kernel development model works, what a long term supported kernel is, and why all Linux-based systems devices should be usi...
  19. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Monday, 23-Sep-2024 22:42:39 JST Kees Cook :tux: Kees Cook :tux:
    in reply to
    • Kernel Recipes

    @KernelRecipes Followed up by my more nihilistic take:
    https://youtu.be/b2_HAH2kX04#t=373

    Bottom line remains the same: we have to eliminate bug classes. I'm really excited by all the work that continues on this front between fixing the C language itself and the adoption of Rust. We continue to make steady progress, but can always use more help. :)

    In conversation about 8 months ago from fosstodon.org permalink

    Attachments


    1. https://cdn.fosstodon.org/media_attachments/files/113/187/131/087/449/409/original/87f7941699be07b6.png
    2. Kernel Recipes 2017 - The State of Kernel Self-Protection - Kees Cook
      from Kernel Recipes
      The Kernel Self-Protection Project focuses on addressing gaps in Linux’s defensive technologies. With Linux reaching into every corner of modern life, and us...
  20. Embed this notice
    Kees Cook :tux: (kees@fosstodon.org)'s status on Monday, 16-Sep-2024 18:51:59 JST Kees Cook :tux: Kees Cook :tux:

    Is anyone running Clang-built #riscv or #powerpc #Linux kernels in production? If so, please let me know.

    In conversation about 8 months ago from fosstodon.org permalink
  • Before

User actions

    Kees Cook :tux:

    Kees Cook :tux:

    Free Software Hackerhe/him#searchable through https://tootfinder.ch

    Tags
    • (None)

    Following 0

      Followers 0

        Groups 0

          Statistics

          User ID
          107149
          Member since
          15 Mar 2023
          Notices
          51
          Daily average
          0

          Feeds

          • Atom
          • Help
          • About
          • FAQ
          • TOS
          • Privacy
          • Source
          • Version
          • Contact

          GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

          Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.