Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • 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 (No Skin)
  • No Skin
Collapse
We Distribute
  1. Home
  2. Technical Discussion
  3. Added new requirements to FEP-fe34:

Added new requirements to FEP-fe34:

Scheduled Pinned Locked Moved Technical Discussion
fepfe34
9 Posts 5 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.
  • silverpill@mitra.socialS This user is from outside of this forum
    silverpill@mitra.socialS This user is from outside of this forum
    silverpill@mitra.social
    wrote last edited by
    #1

    Added new requirements to FEP-fe34:

    Link Preview Image
    FEP-fe34: Update proposal

    fep - Fediverse Enhancement Proposals

    favicon

    Codeberg.org (codeberg.org)

    Previously the FEP put the burden of C2S validation solely on the originating server (producer), but I think it would be better to do corresponding security checks on the consumer side too:

    - When fetching an object: verify that Content-Type includes one of the AP & AS media types.
    - When verifying a signature: also perform same-owner check and verify key ownership.

    Both are already considered good practices in the Fediverse.

    I also attempted to clarify how fetching from origin (authentication) is related to access control (authorization).

    #fep_fe34

    thisismissem@activitypub.spaceT silverpill@mitra.socialS 2 Replies Last reply
    0
    • silverpill@mitra.socialS silverpill@mitra.social

      Added new requirements to FEP-fe34:

      Link Preview Image
      FEP-fe34: Update proposal

      fep - Fediverse Enhancement Proposals

      favicon

      Codeberg.org (codeberg.org)

      Previously the FEP put the burden of C2S validation solely on the originating server (producer), but I think it would be better to do corresponding security checks on the consumer side too:

      - When fetching an object: verify that Content-Type includes one of the AP & AS media types.
      - When verifying a signature: also perform same-owner check and verify key ownership.

      Both are already considered good practices in the Fediverse.

      I also attempted to clarify how fetching from origin (authentication) is related to access control (authorization).

      #fep_fe34

      thisismissem@activitypub.spaceT This user is from outside of this forum
      thisismissem@activitypub.spaceT This user is from outside of this forum
      thisismissem@activitypub.space
      wrote last edited by
      #2

      I'll have to give this a full read later, but I think this would be a good candidate for the newly formed ActivityPub API taskforce (it's still being fully setup, but Evan and myself are the co-leads on it)

      1 Reply Last reply
      0
      • silverpill@mitra.socialS This user is from outside of this forum
        silverpill@mitra.socialS This user is from outside of this forum
        silverpill@mitra.social
        wrote last edited by
        #3

        Thanks, I would be happy to discuss it.

        What do you mean by a good candidate for the taskforce, though? I am not affiliated with the Social CG.

        1 Reply Last reply
        0
        • silverpill@mitra.socialS silverpill@mitra.social

          Added new requirements to FEP-fe34:

          Link Preview Image
          FEP-fe34: Update proposal

          fep - Fediverse Enhancement Proposals

          favicon

          Codeberg.org (codeberg.org)

          Previously the FEP put the burden of C2S validation solely on the originating server (producer), but I think it would be better to do corresponding security checks on the consumer side too:

          - When fetching an object: verify that Content-Type includes one of the AP & AS media types.
          - When verifying a signature: also perform same-owner check and verify key ownership.

          Both are already considered good practices in the Fediverse.

          I also attempted to clarify how fetching from origin (authentication) is related to access control (authorization).

          #fep_fe34

          silverpill@mitra.socialS This user is from outside of this forum
          silverpill@mitra.socialS This user is from outside of this forum
          silverpill@mitra.social
          wrote last edited by
          #4

          @tesaguri What do you think about the recommendations given in FEP-fe34? ^

          GHSA-jhrq-qvrm-qr36 is written as if Mastodon is guilty, because it didn't check Content-Type header. However, I think we should blame the servers that failed to validate uploaded documents, because it is their actors get impersonated.

          trwnh@mastodon.socialT tesaguri@fedibird.comT 2 Replies Last reply
          0
          • silverpill@mitra.socialS silverpill@mitra.social

            @tesaguri What do you think about the recommendations given in FEP-fe34? ^

            GHSA-jhrq-qvrm-qr36 is written as if Mastodon is guilty, because it didn't check Content-Type header. However, I think we should blame the servers that failed to validate uploaded documents, because it is their actors get impersonated.

            trwnh@mastodon.socialT This user is from outside of this forum
            trwnh@mastodon.socialT This user is from outside of this forum
            trwnh@mastodon.social
            wrote last edited by
            #5

            @silverpill @tesaguri checking content-type doesn't actually solve the issue either, because a web server may be configured to serve the "correct" type for user uploaded documents. the real mistake is

            > FetchRemoteStatusService#trustworthy_attribution? trusts the attributedTo property of a fetched object as long as the domain of the attributed actor is the same as the original request URI.

            attribution is only trustworthy within a trust framework that allows entities to validate existing claims

            trwnh@mastodon.socialT 1 Reply Last reply
            0
            • trwnh@mastodon.socialT trwnh@mastodon.social

              @silverpill @tesaguri checking content-type doesn't actually solve the issue either, because a web server may be configured to serve the "correct" type for user uploaded documents. the real mistake is

              > FetchRemoteStatusService#trustworthy_attribution? trusts the attributedTo property of a fetched object as long as the domain of the attributed actor is the same as the original request URI.

              attribution is only trustworthy within a trust framework that allows entities to validate existing claims

              trwnh@mastodon.socialT This user is from outside of this forum
              trwnh@mastodon.socialT This user is from outside of this forum
              trwnh@mastodon.social
              wrote last edited by
              #6

              @silverpill @tesaguri i.e. if org.example/~alice/foo claims to be attributed to org.example/~bob, we don't know a priori if this is true or false. ~bob needs to be able to make a claim for ~alice/foo as well.

              ironically, mastodon came up with a relatively more sound solution for fediverse:creator than it uses for attributedTo. their attributionDomains property at least establishes trust for a domain explicitly. (it would be nice to have more granularity though! maybe attributionPrefixes?)

              1 Reply Last reply
              0
              • silverpill@mitra.socialS silverpill@mitra.social

                @tesaguri What do you think about the recommendations given in FEP-fe34? ^

                GHSA-jhrq-qvrm-qr36 is written as if Mastodon is guilty, because it didn't check Content-Type header. However, I think we should blame the servers that failed to validate uploaded documents, because it is their actors get impersonated.

                tesaguri@fedibird.comT This user is from outside of this forum
                tesaguri@fedibird.comT This user is from outside of this forum
                tesaguri@fedibird.com
                wrote last edited by
                #7

                @silverpill Actually I didn't think Mastodon was to blame either. I asked them to word the GHSA that way only because my report to the editors of ActivityPub spec was not public yet so I was not comfortable to publicly call it as a problem of AP in general.

                tesaguri@fedibird.comT 1 Reply Last reply
                0
                • tesaguri@fedibird.comT tesaguri@fedibird.com

                  @silverpill Actually I didn't think Mastodon was to blame either. I asked them to word the GHSA that way only because my report to the editors of ActivityPub spec was not public yet so I was not comfortable to publicly call it as a problem of AP in general.

                  tesaguri@fedibird.comT This user is from outside of this forum
                  tesaguri@fedibird.comT This user is from outside of this forum
                  tesaguri@fedibird.com
                  wrote last edited by
                  #8

                  @silverpill That said, when I reported the spoofing vulnerability to @evan, what was in my consideration was not only impersonations, but also craft of fake AS documents on *non-AP* servers. For example, anyone can upload an AS actor document to GitHub, claiming it to be "GitHub support", which might be useful for phishing. While you shouldn't trust a random account calling itself "the support", a common user expectation should suggest that no server with a sensible moderation should just let loose an account assuming the name of its support account. […]

                  evan@cosocial.caE 1 Reply Last reply
                  0
                  • tesaguri@fedibird.comT tesaguri@fedibird.com

                    @silverpill That said, when I reported the spoofing vulnerability to @evan, what was in my consideration was not only impersonations, but also craft of fake AS documents on *non-AP* servers. For example, anyone can upload an AS actor document to GitHub, claiming it to be "GitHub support", which might be useful for phishing. While you shouldn't trust a random account calling itself "the support", a common user expectation should suggest that no server with a sensible moderation should just let loose an account assuming the name of its support account. […]

                    evan@cosocial.caE This user is from outside of this forum
                    evan@cosocial.caE This user is from outside of this forum
                    evan@cosocial.ca
                    wrote last edited by
                    #9

                    @tesaguri @silverpill yeah, I'm not sure this is a problem. I think we actually want to have support for static sites.

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Don't have an account? Register

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