Components

20 Twig Components
53 Render Count
416 ms Render Time
14.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
settings_row_switch
"App\Twig\Components\SettingsRowSwitchComponent"
components/_settings_row_switch.html.twig
15 2.66ms
user_avatar
"App\Twig\Components\UserAvatarComponent"
components/user_avatar.html.twig
12 4.00ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
4 0.82ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 0.64ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
2 10.46ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.46ms
entry
"App\Twig\Components\EntryComponent"
components/_cached.html.twig
1 22.54ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
1 0.18ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
1 0.81ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
1 1.94ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.51ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 8.06ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 0.57ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 8.34ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 360.27ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 8.91ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 1.69ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 1.49ms
support_us_block
"App\Twig\Components\SupportUsBlock"
components/_cached.html.twig
1 0.20ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 0.78ms

Render calls

entry App\Twig\Components\EntryComponent 14.0 MiB 22.54 ms
Input props
[
  "entry" => App\Entity\Entry {#1821
    +user: Proxies\__CG__\App\Entity\User {#1885
      +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
      +cover: null
      +email: "ugjka@lemmy.world"
      +username: "@ugjka@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[ugjka.net](https://ugjka.net)"
      +lastActive: DateTime @1727066920 {#2097
        date: 2024-09-23 06:48:40.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
      +entries: Doctrine\ORM\PersistentCollection {#2088 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
      +posts: Doctrine\ORM\PersistentCollection {#2241 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
      +follows: Doctrine\ORM\PersistentCollection {#2109 …}
      +followers: Doctrine\ORM\PersistentCollection {#2105 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
      +reports: Doctrine\ORM\PersistentCollection {#2127 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
      +violations: Doctrine\ORM\PersistentCollection {#2297 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
      +awards: Doctrine\ORM\PersistentCollection {#2298 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
      +categories: Doctrine\ORM\PersistentCollection {#2283 …}
      -id: 74308
      -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
      +apId: "ugjka@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ugjka"
      +apPublicUrl: "https://lemmy.world/u/ugjka"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ugjka"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705448316 {#2084
        date: 2024-01-17 00:38:36.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699716147 {#2076
        date: 2023-11-11 16:22:27.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#316
      +icon: Proxies\__CG__\App\Entity\Image {#297 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#326
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#288 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
      +entries: Doctrine\ORM\PersistentCollection {#231 …}
      +posts: Doctrine\ORM\PersistentCollection {#189 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
      +bans: Doctrine\ORM\PersistentCollection {#168 …}
      +reports: Doctrine\ORM\PersistentCollection {#154 …}
      +badges: Doctrine\ORM\PersistentCollection {#132 …}
      +logs: Doctrine\ORM\PersistentCollection {#122 …}
      +awards: Doctrine\ORM\PersistentCollection {#111 …}
      +categories: Doctrine\ORM\PersistentCollection {#98 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#320
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#319
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1922 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2417 …}
    +slug: "Coordinated-Disclosure-1-Click-RCE-on-GNOME-CVE-2023-43641"
    +title: "Coordinated Disclosure: 1-Click RCE on GNOME (CVE-2023-43641)"
    +url: "https://github.blog/2023-10-09-coordinated-disclosure-1-click-rce-on-gnome-cve-2023-43641/"
    +body: """
      Today, in coordination with Ilya Lipnitskiy (the maintainer of libcue) and the distros mailing list, the GitHub Security Lab is disclosing CVE-2023-43641, a memory corruption vulnerability in libcue. We have also sent a text-only version of this blog post to the oss-security list.\n
      \n
      It’s quite likely that you have never heard of libcue before, and are wondering why it’s important. This situation is neatly illustrated by xkcd 2347:\n
      \n
      libcue is a library used for parsing cue sheets—a metadata format for describing the layout of the tracks on a CD. Cue sheets are often used in combination with the FLAC audio file format, which means that libcue is a dependency of some audio players, such as Audacious. But the reason why I decided to audit libcue for security vulnerabilities is that it’s used by tracker-miners: an application that’s included with GNOME—the default graphical desktop environment of many open source operating systems.1 The purpose of tracker-miners is to index the files in your home directory to make them easily searchable. For example, the index is used by this search bar:\n
      \n
      The index is automatically updated when you add or modify a file in certain subdirectories of your home directory, in particular including ~/Downloads. To make a long story short, that means that inadvertently clicking a malicious link is all it takes for an attacker to exploit CVE-2023-43641 and get code execution on your computer:\n
      \n
      The video shows me clicking a link in a webpage2, which causes a cue sheet to be downloaded. Because the file is saved to ~/Downloads, it is then automatically scanned by tracker-miners. And because it has a .cue filename extension, tracker-miners uses libcue to parse the file. The file exploits the vulnerability in libcue to gain code execution and pop a calculator. Cue sheets are just one of many file formats supported by tracker-miners. For example, it also includes scanners for HTML, JPEG, and PDF.\n
      \n
      I am delaying publication of the proof of concept (PoC) used in the video, to give users time to install the patch. But if you’d like to test if your system is vulnerable, try downloading this file, which contains a much simpler version of the PoC that merely causes a (benign) crash.\n
      \n
      The offsets in the full PoC need to be tuned for different distributions. I have only done this for Ubuntu 23.04 and Fedora 38, the most recent releases of Ubuntu and Fedora at this time. In my testing, I have found that the PoC works very reliably when run on the correct distribution (and will trigger a SIGSEGV when run on the wrong distribution). I have not created PoCs for any other distributions, but I believe that all distributions that run GNOME are potentially exploitable. The bug in libcue\n
      \n
      libcue is quite a small project. It’s primarily a bison grammar for cue sheets, with a few data structures for storing the parsed data. A simple example of a cue sheet looks like this:\n
      \n
      REM GENRE “Pop, dance pop” REM DATE 1987 PERFORMER “Rick Astley” TITLE “Whenever You Need Somebody” FILE “Whenever You Need Somebody.mp3” MP3 TRACK 01 AUDIO TITLE “Never Gonna Give You Up” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 00:00:00 TRACK 02 AUDIO TITLE “Whenever You Need Somebody” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 03:35:00\n
      \n
      The vulnerability is in the handling of the INDEX syntax. Replacing one of those INDEX statements with this will trigger the bug:\n
      \n
      INDEX 4294567296 0\n
      \n
      There are two parts to the problem. The first is that the scanner (cue_scanner.l, line 132) uses atoi to scan the integers:\n
      \n
      [[:digit:]]+ { yylval.ival = atoi(yytext); return NUMBER; }\n
      \n
      atoi does not check for integer overflow, so it is easy to construct a negative index. For example, 4294567296 is converted to -400000 by atoi.\n
      \n
      The second part of the problem (and this is the actual vulnerability) is that track_set_index does not check that i ≥ 0:\n
      \n
      void track_set_index(Track *track, int i, long ind) { if (i > MAXINDEX) { fprintf(stderr, “too many indexes\n”); return; }\n
      \n
      ```\n
      \n
      <span style="color:#323232;">track->index[i] = ind;\n
      </span>\n
      ```\n
      \n
      }\n
      \n
      If i is negative, then this code can write to an address outside the bounds of the array. Since the value of ind is also attacker-controlled, this is a very powerful vulnerability.\n
      \n
      The bug is simple to fix by adding an extra condition to the if-statement in track_set_index. This is the proposed patch:\n
      \n
      diff --git a/cd.c b/cd.c index cf77a18…4bbea19 100644 — a/cd.c +++ b/cd.c @@ -339,7 +339,7 @@ track_get_rem(const Track* track)\n
      \n
      void track_set_index(Track *track, int i, long ind) {\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i > MAXINDEX) {\n
          </span>\n
          ```\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i &lt; 0 || i > MAXINDEX) {\n
          </span><span style="color:#323232;">          fprintf(stderr, "too many indexesn");\n
          </span><span style="color:#323232;">          return;\n
          </span><span style="color:#323232;">  }\n
          </span>\n
          ```\n
      \n
      More about tracker-miners\n
      \n
      I want to be clear that this bug is not a vulnerability in tracker-miners. But I have focused on tracker-miners because it magnifies the impact of this bug due to the way that it automatically scans the files in your ~/Downloads directory.\n
      \n
      tracker-miners consists of two processes:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">tracker-miner-fs\n
      </span><span style="color:#323232;">tracker-extract\n
      </span>\n
      ```\n
      \n
      The first, tracker-miner-fs, is a background process which is always running, whereas the second, tracker-extract, is only started on demand to scan new files. tracker-miner-fs uses inotify to monitor specific directories, such as ~/Downloads, ~/Music, and ~/Videos. When a new file is created, it launches tracker-extract to scan the file. tracker-extract sends the results back to tracker-miner-fs (which maintains the index) and then usually shuts down again after a few seconds. The vulnerability only affects tracker-extract, because that’s where libcue is used. Both processes run as the current user, so this vulnerability would need to be chained with a separate privilege escalation vulnerability for an attacker to gain admin privileges.\n
      \n
      The vulnerability will not trigger if tracker-miners is not running. To check if it is, I use the command ps aux | grep track. It usually shows that tracker-miner-fs is running and that tracker-extract isn’t. If neither is running (which I think is rare), then using the search bar (press the “super” key and type something) should automatically restart tracker-miner-fs. As far as I know, tracker-miners is quite tightly integrated into GNOME, so there’s no easy way to switch it off. There’s certainly nothing like a simple checkbox in the settings dialog. There’s some discussion here about how to switch it off by modifying your systemd configuration.\n
      \n
      The two-process architecture of tracker-miners is helpful for exploitation. Firstly, it’s much easier to predict the memory layout in a freshly started process than in one that’s already been running for hours, so the fact that tracker-extract is only started on-demand is very convenient. Even better, tracker-extract always creates a fresh thread to scan the downloaded file, and I’ve found that the heap layout in the thread’s malloc arena is very consistent: it varies between distributions, so, for example, Ubuntu 23.04 has a slightly different layout than Fedora 38, but on the same distribution the layout is identical every single time. Secondly, because tracker-extract is restarted on demand, an attacker could potentially crash it many times until their exploit succeeds. Due to the consistency of the heap layout, I’ve found that my exploit works very reliably without needing to use this, but I could imagine an attacker loading a zip file with thousands of copies of their exploit to increase their chance of success when the victim unzips the download. tracker-miners seccomp sandbox escape\n
      \n
      The difficult part of exploiting this vulnerability was finding a way to bypass ASLR. But what I didn’t realize when I started writing the PoC, is that tracker-extract also has a seccomp sandbox which is intended to prevent this kind of exploit from working. It was a nasty surprise when I thought I had all the pieces in place for a working PoC and it failed with the error message: Disallowed syscall “close_range” caught in sandbox. But I still failed to understand that I was attempting a sandbox escape here. I just thought I needed to take a different code path that didn’t use the close_range function. So I tried a different route, it worked, and I didn’t give it any more thought until the GNOME developers asked how I’d managed to escape the sandbox. It turned out that I’d discovered the escape entirely by accident: while I was working on the new route, I unwittingly made a change to the PoC that solved it. I have since discovered that I could have got the original PoC working with a one-line change. I’ll go into more detail on this in a follow-up blog post when I publish the PoC, but for now I’ll just mention that, in response to this, Carlos Garnacho has very quickly implemented some changes to strengthen the sandbox, which will prevent this exploitation path from working in the future. Conclusion\n
      \n
      Sometimes a vulnerability in a seemingly innocuous library can have a large impact. Due to the way that it’s used by tracker-miners, this vulnerability in libcue became a 1-click RCE. If you use GNOME, please update today!\n
      \n
      I’m delaying the release of the full PoC to give users time to install the update, but planning to publish a follow-up blog post soon with details of how the full PoC works. Save an unpatched VM with Ubuntu 23.04 or Fedora 38 if you’d like to test the full PoC when I release it. Notes\n
      \n
      ```\n
      \n
      <span style="color:#323232;">I currently run Ubuntu 23.04 as my main OS and I love the GNOME desktop environment. ↩\n
      </span><span style="color:#323232;">The webpage in the video is https://bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595, which is where I first notified Ubuntu’s security team about this vulnerability. They suggested that I contact the distros list. ↩\n
      </span>\n
      ```
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 0
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697038564 {#2445
      date: 2023-10-11 17:36:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2420 …}
    +votes: Doctrine\ORM\PersistentCollection {#1916 …}
    +reports: Doctrine\ORM\PersistentCollection {#1857 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1950 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1903 …}
    +badges: Doctrine\ORM\PersistentCollection {#1364 …}
    +children: []
    -id: 15227
    -titleTs: "'-2023':9 '-43641':10 '1':3 'click':4 'coordin':1 'cve':8 'disclosur':2 'gnome':7 'rce':5"
    -bodyTs: "'+339':785 '-2023':23,242 '-339':783 '-400000':664 '-43641':24,243 '/downloads':217,275,866,923 '/music':924 '/ubuntu/+source/libcue/+bug/2036595,':1699 '/videos':926 '0':612,689,808 '00':562,563,564,587 '01':542,561,584 '02':566 '03':585 '1':1605 '100644':780 '132':629 '1987':526 '23.04':415,1226,1657,1679 '2347':76 '35':586 '38':418,1234,1660 '4294567296':611,660 '4bbea19':779 '7':784,786 'a/cd.c':775,781 'accid':1479 'actual':677 'ad':755 'add':202 'address':725 'admin':1008 'affect':971 'aitken':557,580 'alreadi':1165 'also':33,334,738,1356 'alway':894,1191 'applic':148 'architectur':1136 'arena':1214 'array':731 'ask':1459 'aslr':1338 'astley':529,552,575 'atoi':631,638,642,666 'attack':238,740,1005,1257,1295 'attacker-control':739 'attempt':1414 'audaci':125 'audio':109,121,543,567 'audit':133 'automat':198,279,860,1074 'aux':1032 'b/cd.c':776,782 'back':948 'background':890 'bar':194,1065 'becam':1603 'believ':470 'benign':393 'better':1187 'bison':494 'blog':42,1531,1640 'bound':728 'bug':481,609,749,829,853 'bugs.launchpad.net':1698 'bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595,':1697 'bypass':1337 'calcul':316 'carlo':1550 'caught':1402 'caus':262,391 'cd':98 'certain':208,1106 'cf77a18':778 'chain':996 'chanc':1310 'chang':1492,1517,1557 'check':645,686,1023 'checkbox':1111 'clear':826 'click':228,255,1606 'close':1400,1435 'code':246,311,720,1428 'combin':105 'command':1030 'comput':250 'concept':350 'conclus':1573 'condit':758 'configur':1131 'consist':871,1217,1271 'const':790 'construct':654 'contact':1717 'contain':381 'control':741 'conveni':1185 'convert':662 'coordin':3 'copi':1303 'correct':446 'corrupt':27 'could':1258,1292,1505 'crash':394,1260 'creat':462,932,1192 'cue':84,99,264,290,317,497,514,626 'current':987,1676 'cve':22,241 'd':367,1462,1473,1663 'danc':522 'data':502,508 'date':525 'decid':131 'default':155 'delay':344,1617 'demand':906,1182,1255 'depend':118 'describ':90 'desktop':157,1689 'detail':1523,1644 'develop':1458 'dialog':1115 'didn':1342,1431,1448 'diff':773 'differ':406,1230,1427,1442 'difficult':1326 'digit':636 'directori':179,213,867,920 'disallow':1398 'disclos':21 'discov':1474,1502 'discuss':1119 'distribut':407,447,458,467,473,1221,1239 'distro':13,1719 'done':411 'download':268,377,1199,1318 'due':854,1268,1587 'easi':652,1098 'easier':1149 'easili':183 'entir':1477 'environ':158,1690 'error':1396 'escal':1001 'escap':1324,1417,1465,1476 'even':1186 'everi':1244 'exampl':186,332,511,659,1224 'execut':247,312 'exploit':240,304,479,1144,1266,1281,1306,1329,1369,1566 'extens':292 'extra':757 'extract':881,901,937,944,974,1049,1176,1190,1251,1355 'fact':1172 'fail':1393,1408 'far':1081 'fedora':417,426,1233,1659 'file':110,175,206,271,301,303,324,379,535,863,910,930,941,1200,1299 'filenam':291 'find':1333 'first':621,883,1145,1704 'fix':753 'flac':108 'focus':841 'follow':1529,1638 'follow-up':1528,1637 'format':88,111,325 'found':435,1204,1278 'fprintf':703,811 'fresh':1157,1194 'fs':878,887,914,953,1042,1079 'full':399,1622,1648,1668 'function':1437 'futur':1572 'gain':310,1007 'garnacho':1551 'genr':520 'get':245,788 'git':774 'github':17 'give':357,547,1450,1625 'gnome':153,476,1093,1457,1611,1688 'go':1520 'gonna':546 'got':1507 'grammar':495 'graphic':156 'grep':1033 'handl':593 'heap':1207,1274 'heard':58 'help':1142 'home':178,212 'hour':1169 'html':338 'ident':1243 'if-stat':761 'illustr':73 'ilya':5 'imagin':1293 'impact':850,1586 'implement':1555 'import':68 'inadvert':227 'includ':151,216,335 'increas':1308 'ind':699,713,736,802 'index':173,188,196,560,583,596,602,610,657,683,693,707,711,767,777,796,957 'indexesn':815 'innocu':1580 'inotifi':916 'instal':361,1629 'int':696,799 'integ':635,647 'integr':1091 'intend':1363 'isn':1050 'jpeg':339 'key':1069 'kind':1367 'know':1084 'lab':19 'larg':1585 'launch':934 'layout':92,1154,1208,1231,1241,1275 'libcu':10,30,60,77,115,134,297,308,483,484,979,1602 'librari':80,1581 'like':53,368,517,1108,1664 'line':628,1516 'link':231,257 'lipnitskiy':6 'list':15,49,1720 'll':1519,1542 'load':1296 'long':221,698,801 'look':516 'love':1686 'm':1616 'made':1490 'magnifi':848 'mail':14 'main':1682 'maintain':8,955 'make':181,219 'malici':230 'malloc':1213 'manag':1463 'mani':160,323,706,814,1262 'matt':556,579 'maxindex':702,805,810 'mean':113,225 'memori':26,1153 'mention':1544 'mere':390 'messag':1397 'metadata':87 'mike':554,577 'miner':146,170,284,295,330,821,837,845,870,877,886,913,952,1018,1041,1078,1087,1140,1321,1598 'modifi':204,1128 'monitor':918 'mp3':540 'much':383,1148 'n':708 'nasti':1375 'neat':72 'need':401,533,538,571,993,1286,1423 'negat':656,717 'neither':1053 'never':57,545 'new':909,929,1486 'note':1674 'noth':1107 'notifi':1705 'number':641 'offset':396 'often':102 'on-demand':1180 'one':321,599,1162,1515 'one-lin':1514 'open':161 'oper':163 'origin':1509 'os':1683 'oss':47 'oss-secur':46 'outsid':726 'overflow':648 'pars':83,299,507 'part':616,669,1327 'particular':215 'patch':363,772 'path':1429,1567 'pdf':341 'perform':527,550,573 'pete':558,581 'piec':1384 'place':1386 'plan':1633 'player':122 'pleas':1612 'poc':351,388,400,438,463,1350,1390,1495,1510,1537,1623,1649,1669 'pop':314,521,523 'post':43,1532,1641 'potenti':478,1259 'power':746 'predict':1151 'press':1066 'prevent':1365,1564 'primarili':492 'privileg':1000,1009 'problem':619,672 'process':874,891,983,1135,1159 'project':489 'proof':348 'propos':771 'ps':1031 'public':345 'publish':1535,1635 'purpos':166 'quick':1554 'quit':52,486,1089 'rang':1401,1436 'rare':1060 'rce':1607 'realiz':1344 'reason':128 'recent':421 'releas':422,1619,1672 'reliabl':441,1284 'rem':519,524,789 'replac':598 'respons':1547 'restart':1075,1253 'result':947 'return':640,709,816 'rick':528,551,574 'rout':1443,1487 'run':443,454,475,895,984,1021,1044,1055,1167,1677 'sandbox':1323,1360,1404,1416,1467,1561 'save':273,1651 'scan':280,633,861,908,939,1197 'scanner':336,625 'scanner.l':627 'search':193,1064 'searchabl':184 'seccomp':1322,1359 'second':668,898,967,1247 'secur':18,48,136,1708 'seem':1579 'send':945 'sent':34 'separ':999 'set':682,692,766,795,1114 'sheet':85,100,265,318,498,515 'short':223 'show':253,1037 'shut':961 'sigsegv':452 'simpl':510,751,1110 'simpler':384 'sinc':732,1501 'singl':1245 'situat':70 'slight':1229 'small':488 'solv':1497 'somebodi':534,572 'somebody.mp3':539 'someth':1072 'sometim':1574 'songwrit':553,576 'soon':1642 'sourc':162 'specif':919 'start':904,1158,1179,1347 'statement':603,763 'stderr':704,812 'still':1407 'stock':555,578 'store':505 'stori':222 'strengthen':1559 'structur':503 'subdirectori':209 'succeed':1267 'success':1312 'suggest':1714 'super':1068 'support':326 'surpris':1376 'switch':1101,1124 'syntax':597 'syscal':1399 'system':373 'systemd':1130 'systems.1':164 'take':235,1425 'team':1709 'test':370,432,1666 'text':37 'text-on':36 'think':1058 'thought':1379,1421,1454 'thousand':1301 'thread':1195,1211 'tight':1090 'time':359,429,1246,1263,1627 'titl':530,544,568 'today':1,1614 'track':95,541,565,681,691,694,695,710,765,787,791,792,794,797,798,1034 'tracker':145,169,283,294,329,820,836,844,869,876,880,885,900,912,936,943,951,973,1017,1040,1048,1077,1086,1139,1175,1189,1250,1320,1354,1597 'tracker-extract':879,899,935,942,972,1047,1174,1188,1249,1353 'tracker-min':144,168,282,293,328,819,835,843,868,1016,1085,1138,1319,1596 'tracker-miner-f':875,884,911,950,1039,1076 'tri':376,1440 'trigger':450,607,1014 'tune':404 'turn':1469 'two':615,873,1134 'two-process':1133 'type':1071 'ubuntu':414,424,1225,1656,1678,1706 'understand':1410 'unpatch':1653 'unwit':1489 'unzip':1316 'updat':199,1613,1631 'use':81,103,142,190,296,352,630,915,981,1028,1062,1288,1433,1594,1610 'user':358,988,1626 'usual':960,1036 'valu':734 'vari':1219 've':1203,1277 'version':39,385 'victim':1315 'video':252,355,1695 'vm':1654 'void':690,793 'vulner':28,137,306,375,589,678,747,833,969,991,1002,1011,1331,1576,1600,1712 'want':823 'waterman':559,582 'way':857,1099,1335,1590 'webpag':1692 'webpage2':260 'whenev':531,536,569 'wherea':896 'without':1285 'wonder':64 'work':439,1282,1371,1389,1445,1483,1511,1569,1650 'would':992 'write':722,1348 'wrong':457 'xkcd':75 'yylval.ival':637 'yytext':639 'zip':1298"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697038564
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/6654633"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697038564 {#102
      date: 2023-10-11 17:36:04.0 +02:00
    }
  }
  "isSingle" => true
  "showBody" => false
]
Attributes
[
  "class" => "entry--single section--top"
]
Component
App\Twig\Components\EntryComponent {#1764
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
  -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#1765 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  +entry: App\Entity\Entry {#1821
    +user: Proxies\__CG__\App\Entity\User {#1885
      +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
      +cover: null
      +email: "ugjka@lemmy.world"
      +username: "@ugjka@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[ugjka.net](https://ugjka.net)"
      +lastActive: DateTime @1727066920 {#2097
        date: 2024-09-23 06:48:40.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
      +entries: Doctrine\ORM\PersistentCollection {#2088 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
      +posts: Doctrine\ORM\PersistentCollection {#2241 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
      +follows: Doctrine\ORM\PersistentCollection {#2109 …}
      +followers: Doctrine\ORM\PersistentCollection {#2105 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
      +reports: Doctrine\ORM\PersistentCollection {#2127 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
      +violations: Doctrine\ORM\PersistentCollection {#2297 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
      +awards: Doctrine\ORM\PersistentCollection {#2298 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
      +categories: Doctrine\ORM\PersistentCollection {#2283 …}
      -id: 74308
      -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
      +apId: "ugjka@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ugjka"
      +apPublicUrl: "https://lemmy.world/u/ugjka"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ugjka"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705448316 {#2084
        date: 2024-01-17 00:38:36.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699716147 {#2076
        date: 2023-11-11 16:22:27.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#316
      +icon: Proxies\__CG__\App\Entity\Image {#297 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#326
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#288 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
      +entries: Doctrine\ORM\PersistentCollection {#231 …}
      +posts: Doctrine\ORM\PersistentCollection {#189 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
      +bans: Doctrine\ORM\PersistentCollection {#168 …}
      +reports: Doctrine\ORM\PersistentCollection {#154 …}
      +badges: Doctrine\ORM\PersistentCollection {#132 …}
      +logs: Doctrine\ORM\PersistentCollection {#122 …}
      +awards: Doctrine\ORM\PersistentCollection {#111 …}
      +categories: Doctrine\ORM\PersistentCollection {#98 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#320
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#319
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1922 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2417 …}
    +slug: "Coordinated-Disclosure-1-Click-RCE-on-GNOME-CVE-2023-43641"
    +title: "Coordinated Disclosure: 1-Click RCE on GNOME (CVE-2023-43641)"
    +url: "https://github.blog/2023-10-09-coordinated-disclosure-1-click-rce-on-gnome-cve-2023-43641/"
    +body: """
      Today, in coordination with Ilya Lipnitskiy (the maintainer of libcue) and the distros mailing list, the GitHub Security Lab is disclosing CVE-2023-43641, a memory corruption vulnerability in libcue. We have also sent a text-only version of this blog post to the oss-security list.\n
      \n
      It’s quite likely that you have never heard of libcue before, and are wondering why it’s important. This situation is neatly illustrated by xkcd 2347:\n
      \n
      libcue is a library used for parsing cue sheets—a metadata format for describing the layout of the tracks on a CD. Cue sheets are often used in combination with the FLAC audio file format, which means that libcue is a dependency of some audio players, such as Audacious. But the reason why I decided to audit libcue for security vulnerabilities is that it’s used by tracker-miners: an application that’s included with GNOME—the default graphical desktop environment of many open source operating systems.1 The purpose of tracker-miners is to index the files in your home directory to make them easily searchable. For example, the index is used by this search bar:\n
      \n
      The index is automatically updated when you add or modify a file in certain subdirectories of your home directory, in particular including ~/Downloads. To make a long story short, that means that inadvertently clicking a malicious link is all it takes for an attacker to exploit CVE-2023-43641 and get code execution on your computer:\n
      \n
      The video shows me clicking a link in a webpage2, which causes a cue sheet to be downloaded. Because the file is saved to ~/Downloads, it is then automatically scanned by tracker-miners. And because it has a .cue filename extension, tracker-miners uses libcue to parse the file. The file exploits the vulnerability in libcue to gain code execution and pop a calculator. Cue sheets are just one of many file formats supported by tracker-miners. For example, it also includes scanners for HTML, JPEG, and PDF.\n
      \n
      I am delaying publication of the proof of concept (PoC) used in the video, to give users time to install the patch. But if you’d like to test if your system is vulnerable, try downloading this file, which contains a much simpler version of the PoC that merely causes a (benign) crash.\n
      \n
      The offsets in the full PoC need to be tuned for different distributions. I have only done this for Ubuntu 23.04 and Fedora 38, the most recent releases of Ubuntu and Fedora at this time. In my testing, I have found that the PoC works very reliably when run on the correct distribution (and will trigger a SIGSEGV when run on the wrong distribution). I have not created PoCs for any other distributions, but I believe that all distributions that run GNOME are potentially exploitable. The bug in libcue\n
      \n
      libcue is quite a small project. It’s primarily a bison grammar for cue sheets, with a few data structures for storing the parsed data. A simple example of a cue sheet looks like this:\n
      \n
      REM GENRE “Pop, dance pop” REM DATE 1987 PERFORMER “Rick Astley” TITLE “Whenever You Need Somebody” FILE “Whenever You Need Somebody.mp3” MP3 TRACK 01 AUDIO TITLE “Never Gonna Give You Up” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 00:00:00 TRACK 02 AUDIO TITLE “Whenever You Need Somebody” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 03:35:00\n
      \n
      The vulnerability is in the handling of the INDEX syntax. Replacing one of those INDEX statements with this will trigger the bug:\n
      \n
      INDEX 4294567296 0\n
      \n
      There are two parts to the problem. The first is that the scanner (cue_scanner.l, line 132) uses atoi to scan the integers:\n
      \n
      [[:digit:]]+ { yylval.ival = atoi(yytext); return NUMBER; }\n
      \n
      atoi does not check for integer overflow, so it is easy to construct a negative index. For example, 4294567296 is converted to -400000 by atoi.\n
      \n
      The second part of the problem (and this is the actual vulnerability) is that track_set_index does not check that i ≥ 0:\n
      \n
      void track_set_index(Track *track, int i, long ind) { if (i &gt; MAXINDEX) { fprintf(stderr, “too many indexes\n”); return; }\n
      \n
      ```\n
      \n
      <span style="color:#323232;">track->index[i] = ind;\n
      </span>\n
      ```\n
      \n
      }\n
      \n
      If i is negative, then this code can write to an address outside the bounds of the array. Since the value of ind is also attacker-controlled, this is a very powerful vulnerability.\n
      \n
      The bug is simple to fix by adding an extra condition to the if-statement in track_set_index. This is the proposed patch:\n
      \n
      diff --git a/cd.c b/cd.c index cf77a18…4bbea19 100644 — a/cd.c +++ b/cd.c @@ -339,7 +339,7 @@ track_get_rem(const Track* track)\n
      \n
      void track_set_index(Track *track, int i, long ind) {\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i > MAXINDEX) {\n
          </span>\n
          ```\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i &lt; 0 || i > MAXINDEX) {\n
          </span><span style="color:#323232;">          fprintf(stderr, "too many indexesn");\n
          </span><span style="color:#323232;">          return;\n
          </span><span style="color:#323232;">  }\n
          </span>\n
          ```\n
      \n
      More about tracker-miners\n
      \n
      I want to be clear that this bug is not a vulnerability in tracker-miners. But I have focused on tracker-miners because it magnifies the impact of this bug due to the way that it automatically scans the files in your ~/Downloads directory.\n
      \n
      tracker-miners consists of two processes:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">tracker-miner-fs\n
      </span><span style="color:#323232;">tracker-extract\n
      </span>\n
      ```\n
      \n
      The first, tracker-miner-fs, is a background process which is always running, whereas the second, tracker-extract, is only started on demand to scan new files. tracker-miner-fs uses inotify to monitor specific directories, such as ~/Downloads, ~/Music, and ~/Videos. When a new file is created, it launches tracker-extract to scan the file. tracker-extract sends the results back to tracker-miner-fs (which maintains the index) and then usually shuts down again after a few seconds. The vulnerability only affects tracker-extract, because that’s where libcue is used. Both processes run as the current user, so this vulnerability would need to be chained with a separate privilege escalation vulnerability for an attacker to gain admin privileges.\n
      \n
      The vulnerability will not trigger if tracker-miners is not running. To check if it is, I use the command ps aux | grep track. It usually shows that tracker-miner-fs is running and that tracker-extract isn’t. If neither is running (which I think is rare), then using the search bar (press the “super” key and type something) should automatically restart tracker-miner-fs. As far as I know, tracker-miners is quite tightly integrated into GNOME, so there’s no easy way to switch it off. There’s certainly nothing like a simple checkbox in the settings dialog. There’s some discussion here about how to switch it off by modifying your systemd configuration.\n
      \n
      The two-process architecture of tracker-miners is helpful for exploitation. Firstly, it’s much easier to predict the memory layout in a freshly started process than in one that’s already been running for hours, so the fact that tracker-extract is only started on-demand is very convenient. Even better, tracker-extract always creates a fresh thread to scan the downloaded file, and I’ve found that the heap layout in the thread’s malloc arena is very consistent: it varies between distributions, so, for example, Ubuntu 23.04 has a slightly different layout than Fedora 38, but on the same distribution the layout is identical every single time. Secondly, because tracker-extract is restarted on demand, an attacker could potentially crash it many times until their exploit succeeds. Due to the consistency of the heap layout, I’ve found that my exploit works very reliably without needing to use this, but I could imagine an attacker loading a zip file with thousands of copies of their exploit to increase their chance of success when the victim unzips the download. tracker-miners seccomp sandbox escape\n
      \n
      The difficult part of exploiting this vulnerability was finding a way to bypass ASLR. But what I didn’t realize when I started writing the PoC, is that tracker-extract also has a seccomp sandbox which is intended to prevent this kind of exploit from working. It was a nasty surprise when I thought I had all the pieces in place for a working PoC and it failed with the error message: Disallowed syscall “close_range” caught in sandbox. But I still failed to understand that I was attempting a sandbox escape here. I just thought I needed to take a different code path that didn’t use the close_range function. So I tried a different route, it worked, and I didn’t give it any more thought until the GNOME developers asked how I’d managed to escape the sandbox. It turned out that I’d discovered the escape entirely by accident: while I was working on the new route, I unwittingly made a change to the PoC that solved it. I have since discovered that I could have got the original PoC working with a one-line change. I’ll go into more detail on this in a follow-up blog post when I publish the PoC, but for now I’ll just mention that, in response to this, Carlos Garnacho has very quickly implemented some changes to strengthen the sandbox, which will prevent this exploitation path from working in the future. Conclusion\n
      \n
      Sometimes a vulnerability in a seemingly innocuous library can have a large impact. Due to the way that it’s used by tracker-miners, this vulnerability in libcue became a 1-click RCE. If you use GNOME, please update today!\n
      \n
      I’m delaying the release of the full PoC to give users time to install the update, but planning to publish a follow-up blog post soon with details of how the full PoC works. Save an unpatched VM with Ubuntu 23.04 or Fedora 38 if you’d like to test the full PoC when I release it. Notes\n
      \n
      ```\n
      \n
      <span style="color:#323232;">I currently run Ubuntu 23.04 as my main OS and I love the GNOME desktop environment. ↩\n
      </span><span style="color:#323232;">The webpage in the video is https://bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595, which is where I first notified Ubuntu’s security team about this vulnerability. They suggested that I contact the distros list. ↩\n
      </span>\n
      ```
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 0
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697038564 {#2445
      date: 2023-10-11 17:36:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2420 …}
    +votes: Doctrine\ORM\PersistentCollection {#1916 …}
    +reports: Doctrine\ORM\PersistentCollection {#1857 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1950 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1903 …}
    +badges: Doctrine\ORM\PersistentCollection {#1364 …}
    +children: []
    -id: 15227
    -titleTs: "'-2023':9 '-43641':10 '1':3 'click':4 'coordin':1 'cve':8 'disclosur':2 'gnome':7 'rce':5"
    -bodyTs: "'+339':785 '-2023':23,242 '-339':783 '-400000':664 '-43641':24,243 '/downloads':217,275,866,923 '/music':924 '/ubuntu/+source/libcue/+bug/2036595,':1699 '/videos':926 '0':612,689,808 '00':562,563,564,587 '01':542,561,584 '02':566 '03':585 '1':1605 '100644':780 '132':629 '1987':526 '23.04':415,1226,1657,1679 '2347':76 '35':586 '38':418,1234,1660 '4294567296':611,660 '4bbea19':779 '7':784,786 'a/cd.c':775,781 'accid':1479 'actual':677 'ad':755 'add':202 'address':725 'admin':1008 'affect':971 'aitken':557,580 'alreadi':1165 'also':33,334,738,1356 'alway':894,1191 'applic':148 'architectur':1136 'arena':1214 'array':731 'ask':1459 'aslr':1338 'astley':529,552,575 'atoi':631,638,642,666 'attack':238,740,1005,1257,1295 'attacker-control':739 'attempt':1414 'audaci':125 'audio':109,121,543,567 'audit':133 'automat':198,279,860,1074 'aux':1032 'b/cd.c':776,782 'back':948 'background':890 'bar':194,1065 'becam':1603 'believ':470 'benign':393 'better':1187 'bison':494 'blog':42,1531,1640 'bound':728 'bug':481,609,749,829,853 'bugs.launchpad.net':1698 'bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595,':1697 'bypass':1337 'calcul':316 'carlo':1550 'caught':1402 'caus':262,391 'cd':98 'certain':208,1106 'cf77a18':778 'chain':996 'chanc':1310 'chang':1492,1517,1557 'check':645,686,1023 'checkbox':1111 'clear':826 'click':228,255,1606 'close':1400,1435 'code':246,311,720,1428 'combin':105 'command':1030 'comput':250 'concept':350 'conclus':1573 'condit':758 'configur':1131 'consist':871,1217,1271 'const':790 'construct':654 'contact':1717 'contain':381 'control':741 'conveni':1185 'convert':662 'coordin':3 'copi':1303 'correct':446 'corrupt':27 'could':1258,1292,1505 'crash':394,1260 'creat':462,932,1192 'cue':84,99,264,290,317,497,514,626 'current':987,1676 'cve':22,241 'd':367,1462,1473,1663 'danc':522 'data':502,508 'date':525 'decid':131 'default':155 'delay':344,1617 'demand':906,1182,1255 'depend':118 'describ':90 'desktop':157,1689 'detail':1523,1644 'develop':1458 'dialog':1115 'didn':1342,1431,1448 'diff':773 'differ':406,1230,1427,1442 'difficult':1326 'digit':636 'directori':179,213,867,920 'disallow':1398 'disclos':21 'discov':1474,1502 'discuss':1119 'distribut':407,447,458,467,473,1221,1239 'distro':13,1719 'done':411 'download':268,377,1199,1318 'due':854,1268,1587 'easi':652,1098 'easier':1149 'easili':183 'entir':1477 'environ':158,1690 'error':1396 'escal':1001 'escap':1324,1417,1465,1476 'even':1186 'everi':1244 'exampl':186,332,511,659,1224 'execut':247,312 'exploit':240,304,479,1144,1266,1281,1306,1329,1369,1566 'extens':292 'extra':757 'extract':881,901,937,944,974,1049,1176,1190,1251,1355 'fact':1172 'fail':1393,1408 'far':1081 'fedora':417,426,1233,1659 'file':110,175,206,271,301,303,324,379,535,863,910,930,941,1200,1299 'filenam':291 'find':1333 'first':621,883,1145,1704 'fix':753 'flac':108 'focus':841 'follow':1529,1638 'follow-up':1528,1637 'format':88,111,325 'found':435,1204,1278 'fprintf':703,811 'fresh':1157,1194 'fs':878,887,914,953,1042,1079 'full':399,1622,1648,1668 'function':1437 'futur':1572 'gain':310,1007 'garnacho':1551 'genr':520 'get':245,788 'git':774 'github':17 'give':357,547,1450,1625 'gnome':153,476,1093,1457,1611,1688 'go':1520 'gonna':546 'got':1507 'grammar':495 'graphic':156 'grep':1033 'handl':593 'heap':1207,1274 'heard':58 'help':1142 'home':178,212 'hour':1169 'html':338 'ident':1243 'if-stat':761 'illustr':73 'ilya':5 'imagin':1293 'impact':850,1586 'implement':1555 'import':68 'inadvert':227 'includ':151,216,335 'increas':1308 'ind':699,713,736,802 'index':173,188,196,560,583,596,602,610,657,683,693,707,711,767,777,796,957 'indexesn':815 'innocu':1580 'inotifi':916 'instal':361,1629 'int':696,799 'integ':635,647 'integr':1091 'intend':1363 'isn':1050 'jpeg':339 'key':1069 'kind':1367 'know':1084 'lab':19 'larg':1585 'launch':934 'layout':92,1154,1208,1231,1241,1275 'libcu':10,30,60,77,115,134,297,308,483,484,979,1602 'librari':80,1581 'like':53,368,517,1108,1664 'line':628,1516 'link':231,257 'lipnitskiy':6 'list':15,49,1720 'll':1519,1542 'load':1296 'long':221,698,801 'look':516 'love':1686 'm':1616 'made':1490 'magnifi':848 'mail':14 'main':1682 'maintain':8,955 'make':181,219 'malici':230 'malloc':1213 'manag':1463 'mani':160,323,706,814,1262 'matt':556,579 'maxindex':702,805,810 'mean':113,225 'memori':26,1153 'mention':1544 'mere':390 'messag':1397 'metadata':87 'mike':554,577 'miner':146,170,284,295,330,821,837,845,870,877,886,913,952,1018,1041,1078,1087,1140,1321,1598 'modifi':204,1128 'monitor':918 'mp3':540 'much':383,1148 'n':708 'nasti':1375 'neat':72 'need':401,533,538,571,993,1286,1423 'negat':656,717 'neither':1053 'never':57,545 'new':909,929,1486 'note':1674 'noth':1107 'notifi':1705 'number':641 'offset':396 'often':102 'on-demand':1180 'one':321,599,1162,1515 'one-lin':1514 'open':161 'oper':163 'origin':1509 'os':1683 'oss':47 'oss-secur':46 'outsid':726 'overflow':648 'pars':83,299,507 'part':616,669,1327 'particular':215 'patch':363,772 'path':1429,1567 'pdf':341 'perform':527,550,573 'pete':558,581 'piec':1384 'place':1386 'plan':1633 'player':122 'pleas':1612 'poc':351,388,400,438,463,1350,1390,1495,1510,1537,1623,1649,1669 'pop':314,521,523 'post':43,1532,1641 'potenti':478,1259 'power':746 'predict':1151 'press':1066 'prevent':1365,1564 'primarili':492 'privileg':1000,1009 'problem':619,672 'process':874,891,983,1135,1159 'project':489 'proof':348 'propos':771 'ps':1031 'public':345 'publish':1535,1635 'purpos':166 'quick':1554 'quit':52,486,1089 'rang':1401,1436 'rare':1060 'rce':1607 'realiz':1344 'reason':128 'recent':421 'releas':422,1619,1672 'reliabl':441,1284 'rem':519,524,789 'replac':598 'respons':1547 'restart':1075,1253 'result':947 'return':640,709,816 'rick':528,551,574 'rout':1443,1487 'run':443,454,475,895,984,1021,1044,1055,1167,1677 'sandbox':1323,1360,1404,1416,1467,1561 'save':273,1651 'scan':280,633,861,908,939,1197 'scanner':336,625 'scanner.l':627 'search':193,1064 'searchabl':184 'seccomp':1322,1359 'second':668,898,967,1247 'secur':18,48,136,1708 'seem':1579 'send':945 'sent':34 'separ':999 'set':682,692,766,795,1114 'sheet':85,100,265,318,498,515 'short':223 'show':253,1037 'shut':961 'sigsegv':452 'simpl':510,751,1110 'simpler':384 'sinc':732,1501 'singl':1245 'situat':70 'slight':1229 'small':488 'solv':1497 'somebodi':534,572 'somebody.mp3':539 'someth':1072 'sometim':1574 'songwrit':553,576 'soon':1642 'sourc':162 'specif':919 'start':904,1158,1179,1347 'statement':603,763 'stderr':704,812 'still':1407 'stock':555,578 'store':505 'stori':222 'strengthen':1559 'structur':503 'subdirectori':209 'succeed':1267 'success':1312 'suggest':1714 'super':1068 'support':326 'surpris':1376 'switch':1101,1124 'syntax':597 'syscal':1399 'system':373 'systemd':1130 'systems.1':164 'take':235,1425 'team':1709 'test':370,432,1666 'text':37 'text-on':36 'think':1058 'thought':1379,1421,1454 'thousand':1301 'thread':1195,1211 'tight':1090 'time':359,429,1246,1263,1627 'titl':530,544,568 'today':1,1614 'track':95,541,565,681,691,694,695,710,765,787,791,792,794,797,798,1034 'tracker':145,169,283,294,329,820,836,844,869,876,880,885,900,912,936,943,951,973,1017,1040,1048,1077,1086,1139,1175,1189,1250,1320,1354,1597 'tracker-extract':879,899,935,942,972,1047,1174,1188,1249,1353 'tracker-min':144,168,282,293,328,819,835,843,868,1016,1085,1138,1319,1596 'tracker-miner-f':875,884,911,950,1039,1076 'tri':376,1440 'trigger':450,607,1014 'tune':404 'turn':1469 'two':615,873,1134 'two-process':1133 'type':1071 'ubuntu':414,424,1225,1656,1678,1706 'understand':1410 'unpatch':1653 'unwit':1489 'unzip':1316 'updat':199,1613,1631 'use':81,103,142,190,296,352,630,915,981,1028,1062,1288,1433,1594,1610 'user':358,988,1626 'usual':960,1036 'valu':734 'vari':1219 've':1203,1277 'version':39,385 'victim':1315 'video':252,355,1695 'vm':1654 'void':690,793 'vulner':28,137,306,375,589,678,747,833,969,991,1002,1011,1331,1576,1600,1712 'want':823 'waterman':559,582 'way':857,1099,1335,1590 'webpag':1692 'webpage2':260 'whenev':531,536,569 'wherea':896 'without':1285 'wonder':64 'work':439,1282,1371,1389,1445,1483,1511,1569,1650 'would':992 'write':722,1348 'wrong':457 'xkcd':75 'yylval.ival':637 'yytext':639 'zip':1298"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697038564
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/6654633"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697038564 {#102
      date: 2023-10-11 17:36:04.0 +02:00
    }
  }
  +isSingle: true
  +showShortSentence: true
  +showBody: false
  +showMagazineName: false
  +canSeeTrash: false
  +newComments: 0
}
user_inline App\Twig\Components\UserInlineComponent 14.0 MiB 9.78 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1885
    +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
    +cover: null
    +email: "ugjka@lemmy.world"
    +username: "@ugjka@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "[ugjka.net](https://ugjka.net)"
    +lastActive: DateTime @1727066920 {#2097
      date: 2024-09-23 06:48:40.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
    +entries: Doctrine\ORM\PersistentCollection {#2088 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
    +posts: Doctrine\ORM\PersistentCollection {#2241 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
    +follows: Doctrine\ORM\PersistentCollection {#2109 …}
    +followers: Doctrine\ORM\PersistentCollection {#2105 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
    +reports: Doctrine\ORM\PersistentCollection {#2127 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
    +violations: Doctrine\ORM\PersistentCollection {#2297 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
    +awards: Doctrine\ORM\PersistentCollection {#2298 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
    +categories: Doctrine\ORM\PersistentCollection {#2283 …}
    -id: 74308
    -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
    +apId: "ugjka@lemmy.world"
    +apProfileId: "https://lemmy.world/u/ugjka"
    +apPublicUrl: "https://lemmy.world/u/ugjka"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "ugjka"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705448316 {#2084
      date: 2024-01-17 00:38:36.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699716147 {#2076
      date: 2023-11-11 16:22:27.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#2389
  +user: Proxies\__CG__\App\Entity\User {#1885
    +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
    +cover: null
    +email: "ugjka@lemmy.world"
    +username: "@ugjka@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "[ugjka.net](https://ugjka.net)"
    +lastActive: DateTime @1727066920 {#2097
      date: 2024-09-23 06:48:40.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
    +entries: Doctrine\ORM\PersistentCollection {#2088 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
    +posts: Doctrine\ORM\PersistentCollection {#2241 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
    +follows: Doctrine\ORM\PersistentCollection {#2109 …}
    +followers: Doctrine\ORM\PersistentCollection {#2105 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
    +reports: Doctrine\ORM\PersistentCollection {#2127 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
    +violations: Doctrine\ORM\PersistentCollection {#2297 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
    +awards: Doctrine\ORM\PersistentCollection {#2298 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
    +categories: Doctrine\ORM\PersistentCollection {#2283 …}
    -id: 74308
    -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
    +apId: "ugjka@lemmy.world"
    +apProfileId: "https://lemmy.world/u/ugjka"
    +apPublicUrl: "https://lemmy.world/u/ugjka"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "ugjka"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705448316 {#2084
      date: 2024-01-17 00:38:36.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699716147 {#2076
      date: 2023-11-11 16:22:27.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 14.0 MiB 0.30 ms
Input props
[
  "date" => DateTimeImmutable @1697038564 {#102
    date: 2023-10-11 17:36:04.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#2263
  +date: DateTimeImmutable @1697038564 {#102
    date: 2023-10-11 17:36:04.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 14.0 MiB 0.18 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697038564 {#102
    date: 2023-10-11 17:36:04.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#2170
  +createdAt: DateTimeImmutable @1697038564 {#102
    date: 2023-10-11 17:36:04.0 +02:00
  }
  +editedAt: null
}
vote App\Twig\Components\VoteComponent 14.0 MiB 0.81 ms
Input props
[
  "subject" => App\Entity\Entry {#1821
    +user: Proxies\__CG__\App\Entity\User {#1885
      +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
      +cover: null
      +email: "ugjka@lemmy.world"
      +username: "@ugjka@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[ugjka.net](https://ugjka.net)"
      +lastActive: DateTime @1727066920 {#2097
        date: 2024-09-23 06:48:40.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
      +entries: Doctrine\ORM\PersistentCollection {#2088 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
      +posts: Doctrine\ORM\PersistentCollection {#2241 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
      +follows: Doctrine\ORM\PersistentCollection {#2109 …}
      +followers: Doctrine\ORM\PersistentCollection {#2105 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
      +reports: Doctrine\ORM\PersistentCollection {#2127 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
      +violations: Doctrine\ORM\PersistentCollection {#2297 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
      +awards: Doctrine\ORM\PersistentCollection {#2298 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
      +categories: Doctrine\ORM\PersistentCollection {#2283 …}
      -id: 74308
      -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
      +apId: "ugjka@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ugjka"
      +apPublicUrl: "https://lemmy.world/u/ugjka"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ugjka"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705448316 {#2084
        date: 2024-01-17 00:38:36.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699716147 {#2076
        date: 2023-11-11 16:22:27.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#316
      +icon: Proxies\__CG__\App\Entity\Image {#297 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#326
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#288 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
      +entries: Doctrine\ORM\PersistentCollection {#231 …}
      +posts: Doctrine\ORM\PersistentCollection {#189 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
      +bans: Doctrine\ORM\PersistentCollection {#168 …}
      +reports: Doctrine\ORM\PersistentCollection {#154 …}
      +badges: Doctrine\ORM\PersistentCollection {#132 …}
      +logs: Doctrine\ORM\PersistentCollection {#122 …}
      +awards: Doctrine\ORM\PersistentCollection {#111 …}
      +categories: Doctrine\ORM\PersistentCollection {#98 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#320
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#319
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1922 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2417 …}
    +slug: "Coordinated-Disclosure-1-Click-RCE-on-GNOME-CVE-2023-43641"
    +title: "Coordinated Disclosure: 1-Click RCE on GNOME (CVE-2023-43641)"
    +url: "https://github.blog/2023-10-09-coordinated-disclosure-1-click-rce-on-gnome-cve-2023-43641/"
    +body: """
      Today, in coordination with Ilya Lipnitskiy (the maintainer of libcue) and the distros mailing list, the GitHub Security Lab is disclosing CVE-2023-43641, a memory corruption vulnerability in libcue. We have also sent a text-only version of this blog post to the oss-security list.\n
      \n
      It’s quite likely that you have never heard of libcue before, and are wondering why it’s important. This situation is neatly illustrated by xkcd 2347:\n
      \n
      libcue is a library used for parsing cue sheets—a metadata format for describing the layout of the tracks on a CD. Cue sheets are often used in combination with the FLAC audio file format, which means that libcue is a dependency of some audio players, such as Audacious. But the reason why I decided to audit libcue for security vulnerabilities is that it’s used by tracker-miners: an application that’s included with GNOME—the default graphical desktop environment of many open source operating systems.1 The purpose of tracker-miners is to index the files in your home directory to make them easily searchable. For example, the index is used by this search bar:\n
      \n
      The index is automatically updated when you add or modify a file in certain subdirectories of your home directory, in particular including ~/Downloads. To make a long story short, that means that inadvertently clicking a malicious link is all it takes for an attacker to exploit CVE-2023-43641 and get code execution on your computer:\n
      \n
      The video shows me clicking a link in a webpage2, which causes a cue sheet to be downloaded. Because the file is saved to ~/Downloads, it is then automatically scanned by tracker-miners. And because it has a .cue filename extension, tracker-miners uses libcue to parse the file. The file exploits the vulnerability in libcue to gain code execution and pop a calculator. Cue sheets are just one of many file formats supported by tracker-miners. For example, it also includes scanners for HTML, JPEG, and PDF.\n
      \n
      I am delaying publication of the proof of concept (PoC) used in the video, to give users time to install the patch. But if you’d like to test if your system is vulnerable, try downloading this file, which contains a much simpler version of the PoC that merely causes a (benign) crash.\n
      \n
      The offsets in the full PoC need to be tuned for different distributions. I have only done this for Ubuntu 23.04 and Fedora 38, the most recent releases of Ubuntu and Fedora at this time. In my testing, I have found that the PoC works very reliably when run on the correct distribution (and will trigger a SIGSEGV when run on the wrong distribution). I have not created PoCs for any other distributions, but I believe that all distributions that run GNOME are potentially exploitable. The bug in libcue\n
      \n
      libcue is quite a small project. It’s primarily a bison grammar for cue sheets, with a few data structures for storing the parsed data. A simple example of a cue sheet looks like this:\n
      \n
      REM GENRE “Pop, dance pop” REM DATE 1987 PERFORMER “Rick Astley” TITLE “Whenever You Need Somebody” FILE “Whenever You Need Somebody.mp3” MP3 TRACK 01 AUDIO TITLE “Never Gonna Give You Up” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 00:00:00 TRACK 02 AUDIO TITLE “Whenever You Need Somebody” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 03:35:00\n
      \n
      The vulnerability is in the handling of the INDEX syntax. Replacing one of those INDEX statements with this will trigger the bug:\n
      \n
      INDEX 4294567296 0\n
      \n
      There are two parts to the problem. The first is that the scanner (cue_scanner.l, line 132) uses atoi to scan the integers:\n
      \n
      [[:digit:]]+ { yylval.ival = atoi(yytext); return NUMBER; }\n
      \n
      atoi does not check for integer overflow, so it is easy to construct a negative index. For example, 4294567296 is converted to -400000 by atoi.\n
      \n
      The second part of the problem (and this is the actual vulnerability) is that track_set_index does not check that i ≥ 0:\n
      \n
      void track_set_index(Track *track, int i, long ind) { if (i &gt; MAXINDEX) { fprintf(stderr, “too many indexes\n”); return; }\n
      \n
      ```\n
      \n
      <span style="color:#323232;">track->index[i] = ind;\n
      </span>\n
      ```\n
      \n
      }\n
      \n
      If i is negative, then this code can write to an address outside the bounds of the array. Since the value of ind is also attacker-controlled, this is a very powerful vulnerability.\n
      \n
      The bug is simple to fix by adding an extra condition to the if-statement in track_set_index. This is the proposed patch:\n
      \n
      diff --git a/cd.c b/cd.c index cf77a18…4bbea19 100644 — a/cd.c +++ b/cd.c @@ -339,7 +339,7 @@ track_get_rem(const Track* track)\n
      \n
      void track_set_index(Track *track, int i, long ind) {\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i > MAXINDEX) {\n
          </span>\n
          ```\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i &lt; 0 || i > MAXINDEX) {\n
          </span><span style="color:#323232;">          fprintf(stderr, "too many indexesn");\n
          </span><span style="color:#323232;">          return;\n
          </span><span style="color:#323232;">  }\n
          </span>\n
          ```\n
      \n
      More about tracker-miners\n
      \n
      I want to be clear that this bug is not a vulnerability in tracker-miners. But I have focused on tracker-miners because it magnifies the impact of this bug due to the way that it automatically scans the files in your ~/Downloads directory.\n
      \n
      tracker-miners consists of two processes:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">tracker-miner-fs\n
      </span><span style="color:#323232;">tracker-extract\n
      </span>\n
      ```\n
      \n
      The first, tracker-miner-fs, is a background process which is always running, whereas the second, tracker-extract, is only started on demand to scan new files. tracker-miner-fs uses inotify to monitor specific directories, such as ~/Downloads, ~/Music, and ~/Videos. When a new file is created, it launches tracker-extract to scan the file. tracker-extract sends the results back to tracker-miner-fs (which maintains the index) and then usually shuts down again after a few seconds. The vulnerability only affects tracker-extract, because that’s where libcue is used. Both processes run as the current user, so this vulnerability would need to be chained with a separate privilege escalation vulnerability for an attacker to gain admin privileges.\n
      \n
      The vulnerability will not trigger if tracker-miners is not running. To check if it is, I use the command ps aux | grep track. It usually shows that tracker-miner-fs is running and that tracker-extract isn’t. If neither is running (which I think is rare), then using the search bar (press the “super” key and type something) should automatically restart tracker-miner-fs. As far as I know, tracker-miners is quite tightly integrated into GNOME, so there’s no easy way to switch it off. There’s certainly nothing like a simple checkbox in the settings dialog. There’s some discussion here about how to switch it off by modifying your systemd configuration.\n
      \n
      The two-process architecture of tracker-miners is helpful for exploitation. Firstly, it’s much easier to predict the memory layout in a freshly started process than in one that’s already been running for hours, so the fact that tracker-extract is only started on-demand is very convenient. Even better, tracker-extract always creates a fresh thread to scan the downloaded file, and I’ve found that the heap layout in the thread’s malloc arena is very consistent: it varies between distributions, so, for example, Ubuntu 23.04 has a slightly different layout than Fedora 38, but on the same distribution the layout is identical every single time. Secondly, because tracker-extract is restarted on demand, an attacker could potentially crash it many times until their exploit succeeds. Due to the consistency of the heap layout, I’ve found that my exploit works very reliably without needing to use this, but I could imagine an attacker loading a zip file with thousands of copies of their exploit to increase their chance of success when the victim unzips the download. tracker-miners seccomp sandbox escape\n
      \n
      The difficult part of exploiting this vulnerability was finding a way to bypass ASLR. But what I didn’t realize when I started writing the PoC, is that tracker-extract also has a seccomp sandbox which is intended to prevent this kind of exploit from working. It was a nasty surprise when I thought I had all the pieces in place for a working PoC and it failed with the error message: Disallowed syscall “close_range” caught in sandbox. But I still failed to understand that I was attempting a sandbox escape here. I just thought I needed to take a different code path that didn’t use the close_range function. So I tried a different route, it worked, and I didn’t give it any more thought until the GNOME developers asked how I’d managed to escape the sandbox. It turned out that I’d discovered the escape entirely by accident: while I was working on the new route, I unwittingly made a change to the PoC that solved it. I have since discovered that I could have got the original PoC working with a one-line change. I’ll go into more detail on this in a follow-up blog post when I publish the PoC, but for now I’ll just mention that, in response to this, Carlos Garnacho has very quickly implemented some changes to strengthen the sandbox, which will prevent this exploitation path from working in the future. Conclusion\n
      \n
      Sometimes a vulnerability in a seemingly innocuous library can have a large impact. Due to the way that it’s used by tracker-miners, this vulnerability in libcue became a 1-click RCE. If you use GNOME, please update today!\n
      \n
      I’m delaying the release of the full PoC to give users time to install the update, but planning to publish a follow-up blog post soon with details of how the full PoC works. Save an unpatched VM with Ubuntu 23.04 or Fedora 38 if you’d like to test the full PoC when I release it. Notes\n
      \n
      ```\n
      \n
      <span style="color:#323232;">I currently run Ubuntu 23.04 as my main OS and I love the GNOME desktop environment. ↩\n
      </span><span style="color:#323232;">The webpage in the video is https://bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595, which is where I first notified Ubuntu’s security team about this vulnerability. They suggested that I contact the distros list. ↩\n
      </span>\n
      ```
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 0
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697038564 {#2445
      date: 2023-10-11 17:36:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2420 …}
    +votes: Doctrine\ORM\PersistentCollection {#1916 …}
    +reports: Doctrine\ORM\PersistentCollection {#1857 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1950 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1903 …}
    +badges: Doctrine\ORM\PersistentCollection {#1364 …}
    +children: []
    -id: 15227
    -titleTs: "'-2023':9 '-43641':10 '1':3 'click':4 'coordin':1 'cve':8 'disclosur':2 'gnome':7 'rce':5"
    -bodyTs: "'+339':785 '-2023':23,242 '-339':783 '-400000':664 '-43641':24,243 '/downloads':217,275,866,923 '/music':924 '/ubuntu/+source/libcue/+bug/2036595,':1699 '/videos':926 '0':612,689,808 '00':562,563,564,587 '01':542,561,584 '02':566 '03':585 '1':1605 '100644':780 '132':629 '1987':526 '23.04':415,1226,1657,1679 '2347':76 '35':586 '38':418,1234,1660 '4294567296':611,660 '4bbea19':779 '7':784,786 'a/cd.c':775,781 'accid':1479 'actual':677 'ad':755 'add':202 'address':725 'admin':1008 'affect':971 'aitken':557,580 'alreadi':1165 'also':33,334,738,1356 'alway':894,1191 'applic':148 'architectur':1136 'arena':1214 'array':731 'ask':1459 'aslr':1338 'astley':529,552,575 'atoi':631,638,642,666 'attack':238,740,1005,1257,1295 'attacker-control':739 'attempt':1414 'audaci':125 'audio':109,121,543,567 'audit':133 'automat':198,279,860,1074 'aux':1032 'b/cd.c':776,782 'back':948 'background':890 'bar':194,1065 'becam':1603 'believ':470 'benign':393 'better':1187 'bison':494 'blog':42,1531,1640 'bound':728 'bug':481,609,749,829,853 'bugs.launchpad.net':1698 'bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595,':1697 'bypass':1337 'calcul':316 'carlo':1550 'caught':1402 'caus':262,391 'cd':98 'certain':208,1106 'cf77a18':778 'chain':996 'chanc':1310 'chang':1492,1517,1557 'check':645,686,1023 'checkbox':1111 'clear':826 'click':228,255,1606 'close':1400,1435 'code':246,311,720,1428 'combin':105 'command':1030 'comput':250 'concept':350 'conclus':1573 'condit':758 'configur':1131 'consist':871,1217,1271 'const':790 'construct':654 'contact':1717 'contain':381 'control':741 'conveni':1185 'convert':662 'coordin':3 'copi':1303 'correct':446 'corrupt':27 'could':1258,1292,1505 'crash':394,1260 'creat':462,932,1192 'cue':84,99,264,290,317,497,514,626 'current':987,1676 'cve':22,241 'd':367,1462,1473,1663 'danc':522 'data':502,508 'date':525 'decid':131 'default':155 'delay':344,1617 'demand':906,1182,1255 'depend':118 'describ':90 'desktop':157,1689 'detail':1523,1644 'develop':1458 'dialog':1115 'didn':1342,1431,1448 'diff':773 'differ':406,1230,1427,1442 'difficult':1326 'digit':636 'directori':179,213,867,920 'disallow':1398 'disclos':21 'discov':1474,1502 'discuss':1119 'distribut':407,447,458,467,473,1221,1239 'distro':13,1719 'done':411 'download':268,377,1199,1318 'due':854,1268,1587 'easi':652,1098 'easier':1149 'easili':183 'entir':1477 'environ':158,1690 'error':1396 'escal':1001 'escap':1324,1417,1465,1476 'even':1186 'everi':1244 'exampl':186,332,511,659,1224 'execut':247,312 'exploit':240,304,479,1144,1266,1281,1306,1329,1369,1566 'extens':292 'extra':757 'extract':881,901,937,944,974,1049,1176,1190,1251,1355 'fact':1172 'fail':1393,1408 'far':1081 'fedora':417,426,1233,1659 'file':110,175,206,271,301,303,324,379,535,863,910,930,941,1200,1299 'filenam':291 'find':1333 'first':621,883,1145,1704 'fix':753 'flac':108 'focus':841 'follow':1529,1638 'follow-up':1528,1637 'format':88,111,325 'found':435,1204,1278 'fprintf':703,811 'fresh':1157,1194 'fs':878,887,914,953,1042,1079 'full':399,1622,1648,1668 'function':1437 'futur':1572 'gain':310,1007 'garnacho':1551 'genr':520 'get':245,788 'git':774 'github':17 'give':357,547,1450,1625 'gnome':153,476,1093,1457,1611,1688 'go':1520 'gonna':546 'got':1507 'grammar':495 'graphic':156 'grep':1033 'handl':593 'heap':1207,1274 'heard':58 'help':1142 'home':178,212 'hour':1169 'html':338 'ident':1243 'if-stat':761 'illustr':73 'ilya':5 'imagin':1293 'impact':850,1586 'implement':1555 'import':68 'inadvert':227 'includ':151,216,335 'increas':1308 'ind':699,713,736,802 'index':173,188,196,560,583,596,602,610,657,683,693,707,711,767,777,796,957 'indexesn':815 'innocu':1580 'inotifi':916 'instal':361,1629 'int':696,799 'integ':635,647 'integr':1091 'intend':1363 'isn':1050 'jpeg':339 'key':1069 'kind':1367 'know':1084 'lab':19 'larg':1585 'launch':934 'layout':92,1154,1208,1231,1241,1275 'libcu':10,30,60,77,115,134,297,308,483,484,979,1602 'librari':80,1581 'like':53,368,517,1108,1664 'line':628,1516 'link':231,257 'lipnitskiy':6 'list':15,49,1720 'll':1519,1542 'load':1296 'long':221,698,801 'look':516 'love':1686 'm':1616 'made':1490 'magnifi':848 'mail':14 'main':1682 'maintain':8,955 'make':181,219 'malici':230 'malloc':1213 'manag':1463 'mani':160,323,706,814,1262 'matt':556,579 'maxindex':702,805,810 'mean':113,225 'memori':26,1153 'mention':1544 'mere':390 'messag':1397 'metadata':87 'mike':554,577 'miner':146,170,284,295,330,821,837,845,870,877,886,913,952,1018,1041,1078,1087,1140,1321,1598 'modifi':204,1128 'monitor':918 'mp3':540 'much':383,1148 'n':708 'nasti':1375 'neat':72 'need':401,533,538,571,993,1286,1423 'negat':656,717 'neither':1053 'never':57,545 'new':909,929,1486 'note':1674 'noth':1107 'notifi':1705 'number':641 'offset':396 'often':102 'on-demand':1180 'one':321,599,1162,1515 'one-lin':1514 'open':161 'oper':163 'origin':1509 'os':1683 'oss':47 'oss-secur':46 'outsid':726 'overflow':648 'pars':83,299,507 'part':616,669,1327 'particular':215 'patch':363,772 'path':1429,1567 'pdf':341 'perform':527,550,573 'pete':558,581 'piec':1384 'place':1386 'plan':1633 'player':122 'pleas':1612 'poc':351,388,400,438,463,1350,1390,1495,1510,1537,1623,1649,1669 'pop':314,521,523 'post':43,1532,1641 'potenti':478,1259 'power':746 'predict':1151 'press':1066 'prevent':1365,1564 'primarili':492 'privileg':1000,1009 'problem':619,672 'process':874,891,983,1135,1159 'project':489 'proof':348 'propos':771 'ps':1031 'public':345 'publish':1535,1635 'purpos':166 'quick':1554 'quit':52,486,1089 'rang':1401,1436 'rare':1060 'rce':1607 'realiz':1344 'reason':128 'recent':421 'releas':422,1619,1672 'reliabl':441,1284 'rem':519,524,789 'replac':598 'respons':1547 'restart':1075,1253 'result':947 'return':640,709,816 'rick':528,551,574 'rout':1443,1487 'run':443,454,475,895,984,1021,1044,1055,1167,1677 'sandbox':1323,1360,1404,1416,1467,1561 'save':273,1651 'scan':280,633,861,908,939,1197 'scanner':336,625 'scanner.l':627 'search':193,1064 'searchabl':184 'seccomp':1322,1359 'second':668,898,967,1247 'secur':18,48,136,1708 'seem':1579 'send':945 'sent':34 'separ':999 'set':682,692,766,795,1114 'sheet':85,100,265,318,498,515 'short':223 'show':253,1037 'shut':961 'sigsegv':452 'simpl':510,751,1110 'simpler':384 'sinc':732,1501 'singl':1245 'situat':70 'slight':1229 'small':488 'solv':1497 'somebodi':534,572 'somebody.mp3':539 'someth':1072 'sometim':1574 'songwrit':553,576 'soon':1642 'sourc':162 'specif':919 'start':904,1158,1179,1347 'statement':603,763 'stderr':704,812 'still':1407 'stock':555,578 'store':505 'stori':222 'strengthen':1559 'structur':503 'subdirectori':209 'succeed':1267 'success':1312 'suggest':1714 'super':1068 'support':326 'surpris':1376 'switch':1101,1124 'syntax':597 'syscal':1399 'system':373 'systemd':1130 'systems.1':164 'take':235,1425 'team':1709 'test':370,432,1666 'text':37 'text-on':36 'think':1058 'thought':1379,1421,1454 'thousand':1301 'thread':1195,1211 'tight':1090 'time':359,429,1246,1263,1627 'titl':530,544,568 'today':1,1614 'track':95,541,565,681,691,694,695,710,765,787,791,792,794,797,798,1034 'tracker':145,169,283,294,329,820,836,844,869,876,880,885,900,912,936,943,951,973,1017,1040,1048,1077,1086,1139,1175,1189,1250,1320,1354,1597 'tracker-extract':879,899,935,942,972,1047,1174,1188,1249,1353 'tracker-min':144,168,282,293,328,819,835,843,868,1016,1085,1138,1319,1596 'tracker-miner-f':875,884,911,950,1039,1076 'tri':376,1440 'trigger':450,607,1014 'tune':404 'turn':1469 'two':615,873,1134 'two-process':1133 'type':1071 'ubuntu':414,424,1225,1656,1678,1706 'understand':1410 'unpatch':1653 'unwit':1489 'unzip':1316 'updat':199,1613,1631 'use':81,103,142,190,296,352,630,915,981,1028,1062,1288,1433,1594,1610 'user':358,988,1626 'usual':960,1036 'valu':734 'vari':1219 've':1203,1277 'version':39,385 'victim':1315 'video':252,355,1695 'vm':1654 'void':690,793 'vulner':28,137,306,375,589,678,747,833,969,991,1002,1011,1331,1576,1600,1712 'want':823 'waterman':559,582 'way':857,1099,1335,1590 'webpag':1692 'webpage2':260 'whenev':531,536,569 'wherea':896 'without':1285 'wonder':64 'work':439,1282,1371,1389,1445,1483,1511,1569,1650 'would':992 'write':722,1348 'wrong':457 'xkcd':75 'yylval.ival':637 'yytext':639 'zip':1298"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697038564
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/6654633"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697038564 {#102
      date: 2023-10-11 17:36:04.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#2502
  +subject: App\Entity\Entry {#1821
    +user: Proxies\__CG__\App\Entity\User {#1885
      +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
      +cover: null
      +email: "ugjka@lemmy.world"
      +username: "@ugjka@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[ugjka.net](https://ugjka.net)"
      +lastActive: DateTime @1727066920 {#2097
        date: 2024-09-23 06:48:40.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
      +entries: Doctrine\ORM\PersistentCollection {#2088 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
      +posts: Doctrine\ORM\PersistentCollection {#2241 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
      +follows: Doctrine\ORM\PersistentCollection {#2109 …}
      +followers: Doctrine\ORM\PersistentCollection {#2105 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
      +reports: Doctrine\ORM\PersistentCollection {#2127 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
      +violations: Doctrine\ORM\PersistentCollection {#2297 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
      +awards: Doctrine\ORM\PersistentCollection {#2298 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
      +categories: Doctrine\ORM\PersistentCollection {#2283 …}
      -id: 74308
      -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
      +apId: "ugjka@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ugjka"
      +apPublicUrl: "https://lemmy.world/u/ugjka"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ugjka"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705448316 {#2084
        date: 2024-01-17 00:38:36.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699716147 {#2076
        date: 2023-11-11 16:22:27.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#316
      +icon: Proxies\__CG__\App\Entity\Image {#297 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#326
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#288 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
      +entries: Doctrine\ORM\PersistentCollection {#231 …}
      +posts: Doctrine\ORM\PersistentCollection {#189 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
      +bans: Doctrine\ORM\PersistentCollection {#168 …}
      +reports: Doctrine\ORM\PersistentCollection {#154 …}
      +badges: Doctrine\ORM\PersistentCollection {#132 …}
      +logs: Doctrine\ORM\PersistentCollection {#122 …}
      +awards: Doctrine\ORM\PersistentCollection {#111 …}
      +categories: Doctrine\ORM\PersistentCollection {#98 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#320
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#319
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1922 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2417 …}
    +slug: "Coordinated-Disclosure-1-Click-RCE-on-GNOME-CVE-2023-43641"
    +title: "Coordinated Disclosure: 1-Click RCE on GNOME (CVE-2023-43641)"
    +url: "https://github.blog/2023-10-09-coordinated-disclosure-1-click-rce-on-gnome-cve-2023-43641/"
    +body: """
      Today, in coordination with Ilya Lipnitskiy (the maintainer of libcue) and the distros mailing list, the GitHub Security Lab is disclosing CVE-2023-43641, a memory corruption vulnerability in libcue. We have also sent a text-only version of this blog post to the oss-security list.\n
      \n
      It’s quite likely that you have never heard of libcue before, and are wondering why it’s important. This situation is neatly illustrated by xkcd 2347:\n
      \n
      libcue is a library used for parsing cue sheets—a metadata format for describing the layout of the tracks on a CD. Cue sheets are often used in combination with the FLAC audio file format, which means that libcue is a dependency of some audio players, such as Audacious. But the reason why I decided to audit libcue for security vulnerabilities is that it’s used by tracker-miners: an application that’s included with GNOME—the default graphical desktop environment of many open source operating systems.1 The purpose of tracker-miners is to index the files in your home directory to make them easily searchable. For example, the index is used by this search bar:\n
      \n
      The index is automatically updated when you add or modify a file in certain subdirectories of your home directory, in particular including ~/Downloads. To make a long story short, that means that inadvertently clicking a malicious link is all it takes for an attacker to exploit CVE-2023-43641 and get code execution on your computer:\n
      \n
      The video shows me clicking a link in a webpage2, which causes a cue sheet to be downloaded. Because the file is saved to ~/Downloads, it is then automatically scanned by tracker-miners. And because it has a .cue filename extension, tracker-miners uses libcue to parse the file. The file exploits the vulnerability in libcue to gain code execution and pop a calculator. Cue sheets are just one of many file formats supported by tracker-miners. For example, it also includes scanners for HTML, JPEG, and PDF.\n
      \n
      I am delaying publication of the proof of concept (PoC) used in the video, to give users time to install the patch. But if you’d like to test if your system is vulnerable, try downloading this file, which contains a much simpler version of the PoC that merely causes a (benign) crash.\n
      \n
      The offsets in the full PoC need to be tuned for different distributions. I have only done this for Ubuntu 23.04 and Fedora 38, the most recent releases of Ubuntu and Fedora at this time. In my testing, I have found that the PoC works very reliably when run on the correct distribution (and will trigger a SIGSEGV when run on the wrong distribution). I have not created PoCs for any other distributions, but I believe that all distributions that run GNOME are potentially exploitable. The bug in libcue\n
      \n
      libcue is quite a small project. It’s primarily a bison grammar for cue sheets, with a few data structures for storing the parsed data. A simple example of a cue sheet looks like this:\n
      \n
      REM GENRE “Pop, dance pop” REM DATE 1987 PERFORMER “Rick Astley” TITLE “Whenever You Need Somebody” FILE “Whenever You Need Somebody.mp3” MP3 TRACK 01 AUDIO TITLE “Never Gonna Give You Up” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 00:00:00 TRACK 02 AUDIO TITLE “Whenever You Need Somebody” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 03:35:00\n
      \n
      The vulnerability is in the handling of the INDEX syntax. Replacing one of those INDEX statements with this will trigger the bug:\n
      \n
      INDEX 4294567296 0\n
      \n
      There are two parts to the problem. The first is that the scanner (cue_scanner.l, line 132) uses atoi to scan the integers:\n
      \n
      [[:digit:]]+ { yylval.ival = atoi(yytext); return NUMBER; }\n
      \n
      atoi does not check for integer overflow, so it is easy to construct a negative index. For example, 4294567296 is converted to -400000 by atoi.\n
      \n
      The second part of the problem (and this is the actual vulnerability) is that track_set_index does not check that i ≥ 0:\n
      \n
      void track_set_index(Track *track, int i, long ind) { if (i &gt; MAXINDEX) { fprintf(stderr, “too many indexes\n”); return; }\n
      \n
      ```\n
      \n
      <span style="color:#323232;">track->index[i] = ind;\n
      </span>\n
      ```\n
      \n
      }\n
      \n
      If i is negative, then this code can write to an address outside the bounds of the array. Since the value of ind is also attacker-controlled, this is a very powerful vulnerability.\n
      \n
      The bug is simple to fix by adding an extra condition to the if-statement in track_set_index. This is the proposed patch:\n
      \n
      diff --git a/cd.c b/cd.c index cf77a18…4bbea19 100644 — a/cd.c +++ b/cd.c @@ -339,7 +339,7 @@ track_get_rem(const Track* track)\n
      \n
      void track_set_index(Track *track, int i, long ind) {\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i > MAXINDEX) {\n
          </span>\n
          ```\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i &lt; 0 || i > MAXINDEX) {\n
          </span><span style="color:#323232;">          fprintf(stderr, "too many indexesn");\n
          </span><span style="color:#323232;">          return;\n
          </span><span style="color:#323232;">  }\n
          </span>\n
          ```\n
      \n
      More about tracker-miners\n
      \n
      I want to be clear that this bug is not a vulnerability in tracker-miners. But I have focused on tracker-miners because it magnifies the impact of this bug due to the way that it automatically scans the files in your ~/Downloads directory.\n
      \n
      tracker-miners consists of two processes:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">tracker-miner-fs\n
      </span><span style="color:#323232;">tracker-extract\n
      </span>\n
      ```\n
      \n
      The first, tracker-miner-fs, is a background process which is always running, whereas the second, tracker-extract, is only started on demand to scan new files. tracker-miner-fs uses inotify to monitor specific directories, such as ~/Downloads, ~/Music, and ~/Videos. When a new file is created, it launches tracker-extract to scan the file. tracker-extract sends the results back to tracker-miner-fs (which maintains the index) and then usually shuts down again after a few seconds. The vulnerability only affects tracker-extract, because that’s where libcue is used. Both processes run as the current user, so this vulnerability would need to be chained with a separate privilege escalation vulnerability for an attacker to gain admin privileges.\n
      \n
      The vulnerability will not trigger if tracker-miners is not running. To check if it is, I use the command ps aux | grep track. It usually shows that tracker-miner-fs is running and that tracker-extract isn’t. If neither is running (which I think is rare), then using the search bar (press the “super” key and type something) should automatically restart tracker-miner-fs. As far as I know, tracker-miners is quite tightly integrated into GNOME, so there’s no easy way to switch it off. There’s certainly nothing like a simple checkbox in the settings dialog. There’s some discussion here about how to switch it off by modifying your systemd configuration.\n
      \n
      The two-process architecture of tracker-miners is helpful for exploitation. Firstly, it’s much easier to predict the memory layout in a freshly started process than in one that’s already been running for hours, so the fact that tracker-extract is only started on-demand is very convenient. Even better, tracker-extract always creates a fresh thread to scan the downloaded file, and I’ve found that the heap layout in the thread’s malloc arena is very consistent: it varies between distributions, so, for example, Ubuntu 23.04 has a slightly different layout than Fedora 38, but on the same distribution the layout is identical every single time. Secondly, because tracker-extract is restarted on demand, an attacker could potentially crash it many times until their exploit succeeds. Due to the consistency of the heap layout, I’ve found that my exploit works very reliably without needing to use this, but I could imagine an attacker loading a zip file with thousands of copies of their exploit to increase their chance of success when the victim unzips the download. tracker-miners seccomp sandbox escape\n
      \n
      The difficult part of exploiting this vulnerability was finding a way to bypass ASLR. But what I didn’t realize when I started writing the PoC, is that tracker-extract also has a seccomp sandbox which is intended to prevent this kind of exploit from working. It was a nasty surprise when I thought I had all the pieces in place for a working PoC and it failed with the error message: Disallowed syscall “close_range” caught in sandbox. But I still failed to understand that I was attempting a sandbox escape here. I just thought I needed to take a different code path that didn’t use the close_range function. So I tried a different route, it worked, and I didn’t give it any more thought until the GNOME developers asked how I’d managed to escape the sandbox. It turned out that I’d discovered the escape entirely by accident: while I was working on the new route, I unwittingly made a change to the PoC that solved it. I have since discovered that I could have got the original PoC working with a one-line change. I’ll go into more detail on this in a follow-up blog post when I publish the PoC, but for now I’ll just mention that, in response to this, Carlos Garnacho has very quickly implemented some changes to strengthen the sandbox, which will prevent this exploitation path from working in the future. Conclusion\n
      \n
      Sometimes a vulnerability in a seemingly innocuous library can have a large impact. Due to the way that it’s used by tracker-miners, this vulnerability in libcue became a 1-click RCE. If you use GNOME, please update today!\n
      \n
      I’m delaying the release of the full PoC to give users time to install the update, but planning to publish a follow-up blog post soon with details of how the full PoC works. Save an unpatched VM with Ubuntu 23.04 or Fedora 38 if you’d like to test the full PoC when I release it. Notes\n
      \n
      ```\n
      \n
      <span style="color:#323232;">I currently run Ubuntu 23.04 as my main OS and I love the GNOME desktop environment. ↩\n
      </span><span style="color:#323232;">The webpage in the video is https://bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595, which is where I first notified Ubuntu’s security team about this vulnerability. They suggested that I contact the distros list. ↩\n
      </span>\n
      ```
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 0
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697038564 {#2445
      date: 2023-10-11 17:36:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2420 …}
    +votes: Doctrine\ORM\PersistentCollection {#1916 …}
    +reports: Doctrine\ORM\PersistentCollection {#1857 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1950 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1903 …}
    +badges: Doctrine\ORM\PersistentCollection {#1364 …}
    +children: []
    -id: 15227
    -titleTs: "'-2023':9 '-43641':10 '1':3 'click':4 'coordin':1 'cve':8 'disclosur':2 'gnome':7 'rce':5"
    -bodyTs: "'+339':785 '-2023':23,242 '-339':783 '-400000':664 '-43641':24,243 '/downloads':217,275,866,923 '/music':924 '/ubuntu/+source/libcue/+bug/2036595,':1699 '/videos':926 '0':612,689,808 '00':562,563,564,587 '01':542,561,584 '02':566 '03':585 '1':1605 '100644':780 '132':629 '1987':526 '23.04':415,1226,1657,1679 '2347':76 '35':586 '38':418,1234,1660 '4294567296':611,660 '4bbea19':779 '7':784,786 'a/cd.c':775,781 'accid':1479 'actual':677 'ad':755 'add':202 'address':725 'admin':1008 'affect':971 'aitken':557,580 'alreadi':1165 'also':33,334,738,1356 'alway':894,1191 'applic':148 'architectur':1136 'arena':1214 'array':731 'ask':1459 'aslr':1338 'astley':529,552,575 'atoi':631,638,642,666 'attack':238,740,1005,1257,1295 'attacker-control':739 'attempt':1414 'audaci':125 'audio':109,121,543,567 'audit':133 'automat':198,279,860,1074 'aux':1032 'b/cd.c':776,782 'back':948 'background':890 'bar':194,1065 'becam':1603 'believ':470 'benign':393 'better':1187 'bison':494 'blog':42,1531,1640 'bound':728 'bug':481,609,749,829,853 'bugs.launchpad.net':1698 'bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595,':1697 'bypass':1337 'calcul':316 'carlo':1550 'caught':1402 'caus':262,391 'cd':98 'certain':208,1106 'cf77a18':778 'chain':996 'chanc':1310 'chang':1492,1517,1557 'check':645,686,1023 'checkbox':1111 'clear':826 'click':228,255,1606 'close':1400,1435 'code':246,311,720,1428 'combin':105 'command':1030 'comput':250 'concept':350 'conclus':1573 'condit':758 'configur':1131 'consist':871,1217,1271 'const':790 'construct':654 'contact':1717 'contain':381 'control':741 'conveni':1185 'convert':662 'coordin':3 'copi':1303 'correct':446 'corrupt':27 'could':1258,1292,1505 'crash':394,1260 'creat':462,932,1192 'cue':84,99,264,290,317,497,514,626 'current':987,1676 'cve':22,241 'd':367,1462,1473,1663 'danc':522 'data':502,508 'date':525 'decid':131 'default':155 'delay':344,1617 'demand':906,1182,1255 'depend':118 'describ':90 'desktop':157,1689 'detail':1523,1644 'develop':1458 'dialog':1115 'didn':1342,1431,1448 'diff':773 'differ':406,1230,1427,1442 'difficult':1326 'digit':636 'directori':179,213,867,920 'disallow':1398 'disclos':21 'discov':1474,1502 'discuss':1119 'distribut':407,447,458,467,473,1221,1239 'distro':13,1719 'done':411 'download':268,377,1199,1318 'due':854,1268,1587 'easi':652,1098 'easier':1149 'easili':183 'entir':1477 'environ':158,1690 'error':1396 'escal':1001 'escap':1324,1417,1465,1476 'even':1186 'everi':1244 'exampl':186,332,511,659,1224 'execut':247,312 'exploit':240,304,479,1144,1266,1281,1306,1329,1369,1566 'extens':292 'extra':757 'extract':881,901,937,944,974,1049,1176,1190,1251,1355 'fact':1172 'fail':1393,1408 'far':1081 'fedora':417,426,1233,1659 'file':110,175,206,271,301,303,324,379,535,863,910,930,941,1200,1299 'filenam':291 'find':1333 'first':621,883,1145,1704 'fix':753 'flac':108 'focus':841 'follow':1529,1638 'follow-up':1528,1637 'format':88,111,325 'found':435,1204,1278 'fprintf':703,811 'fresh':1157,1194 'fs':878,887,914,953,1042,1079 'full':399,1622,1648,1668 'function':1437 'futur':1572 'gain':310,1007 'garnacho':1551 'genr':520 'get':245,788 'git':774 'github':17 'give':357,547,1450,1625 'gnome':153,476,1093,1457,1611,1688 'go':1520 'gonna':546 'got':1507 'grammar':495 'graphic':156 'grep':1033 'handl':593 'heap':1207,1274 'heard':58 'help':1142 'home':178,212 'hour':1169 'html':338 'ident':1243 'if-stat':761 'illustr':73 'ilya':5 'imagin':1293 'impact':850,1586 'implement':1555 'import':68 'inadvert':227 'includ':151,216,335 'increas':1308 'ind':699,713,736,802 'index':173,188,196,560,583,596,602,610,657,683,693,707,711,767,777,796,957 'indexesn':815 'innocu':1580 'inotifi':916 'instal':361,1629 'int':696,799 'integ':635,647 'integr':1091 'intend':1363 'isn':1050 'jpeg':339 'key':1069 'kind':1367 'know':1084 'lab':19 'larg':1585 'launch':934 'layout':92,1154,1208,1231,1241,1275 'libcu':10,30,60,77,115,134,297,308,483,484,979,1602 'librari':80,1581 'like':53,368,517,1108,1664 'line':628,1516 'link':231,257 'lipnitskiy':6 'list':15,49,1720 'll':1519,1542 'load':1296 'long':221,698,801 'look':516 'love':1686 'm':1616 'made':1490 'magnifi':848 'mail':14 'main':1682 'maintain':8,955 'make':181,219 'malici':230 'malloc':1213 'manag':1463 'mani':160,323,706,814,1262 'matt':556,579 'maxindex':702,805,810 'mean':113,225 'memori':26,1153 'mention':1544 'mere':390 'messag':1397 'metadata':87 'mike':554,577 'miner':146,170,284,295,330,821,837,845,870,877,886,913,952,1018,1041,1078,1087,1140,1321,1598 'modifi':204,1128 'monitor':918 'mp3':540 'much':383,1148 'n':708 'nasti':1375 'neat':72 'need':401,533,538,571,993,1286,1423 'negat':656,717 'neither':1053 'never':57,545 'new':909,929,1486 'note':1674 'noth':1107 'notifi':1705 'number':641 'offset':396 'often':102 'on-demand':1180 'one':321,599,1162,1515 'one-lin':1514 'open':161 'oper':163 'origin':1509 'os':1683 'oss':47 'oss-secur':46 'outsid':726 'overflow':648 'pars':83,299,507 'part':616,669,1327 'particular':215 'patch':363,772 'path':1429,1567 'pdf':341 'perform':527,550,573 'pete':558,581 'piec':1384 'place':1386 'plan':1633 'player':122 'pleas':1612 'poc':351,388,400,438,463,1350,1390,1495,1510,1537,1623,1649,1669 'pop':314,521,523 'post':43,1532,1641 'potenti':478,1259 'power':746 'predict':1151 'press':1066 'prevent':1365,1564 'primarili':492 'privileg':1000,1009 'problem':619,672 'process':874,891,983,1135,1159 'project':489 'proof':348 'propos':771 'ps':1031 'public':345 'publish':1535,1635 'purpos':166 'quick':1554 'quit':52,486,1089 'rang':1401,1436 'rare':1060 'rce':1607 'realiz':1344 'reason':128 'recent':421 'releas':422,1619,1672 'reliabl':441,1284 'rem':519,524,789 'replac':598 'respons':1547 'restart':1075,1253 'result':947 'return':640,709,816 'rick':528,551,574 'rout':1443,1487 'run':443,454,475,895,984,1021,1044,1055,1167,1677 'sandbox':1323,1360,1404,1416,1467,1561 'save':273,1651 'scan':280,633,861,908,939,1197 'scanner':336,625 'scanner.l':627 'search':193,1064 'searchabl':184 'seccomp':1322,1359 'second':668,898,967,1247 'secur':18,48,136,1708 'seem':1579 'send':945 'sent':34 'separ':999 'set':682,692,766,795,1114 'sheet':85,100,265,318,498,515 'short':223 'show':253,1037 'shut':961 'sigsegv':452 'simpl':510,751,1110 'simpler':384 'sinc':732,1501 'singl':1245 'situat':70 'slight':1229 'small':488 'solv':1497 'somebodi':534,572 'somebody.mp3':539 'someth':1072 'sometim':1574 'songwrit':553,576 'soon':1642 'sourc':162 'specif':919 'start':904,1158,1179,1347 'statement':603,763 'stderr':704,812 'still':1407 'stock':555,578 'store':505 'stori':222 'strengthen':1559 'structur':503 'subdirectori':209 'succeed':1267 'success':1312 'suggest':1714 'super':1068 'support':326 'surpris':1376 'switch':1101,1124 'syntax':597 'syscal':1399 'system':373 'systemd':1130 'systems.1':164 'take':235,1425 'team':1709 'test':370,432,1666 'text':37 'text-on':36 'think':1058 'thought':1379,1421,1454 'thousand':1301 'thread':1195,1211 'tight':1090 'time':359,429,1246,1263,1627 'titl':530,544,568 'today':1,1614 'track':95,541,565,681,691,694,695,710,765,787,791,792,794,797,798,1034 'tracker':145,169,283,294,329,820,836,844,869,876,880,885,900,912,936,943,951,973,1017,1040,1048,1077,1086,1139,1175,1189,1250,1320,1354,1597 'tracker-extract':879,899,935,942,972,1047,1174,1188,1249,1353 'tracker-min':144,168,282,293,328,819,835,843,868,1016,1085,1138,1319,1596 'tracker-miner-f':875,884,911,950,1039,1076 'tri':376,1440 'trigger':450,607,1014 'tune':404 'turn':1469 'two':615,873,1134 'two-process':1133 'type':1071 'ubuntu':414,424,1225,1656,1678,1706 'understand':1410 'unpatch':1653 'unwit':1489 'unzip':1316 'updat':199,1613,1631 'use':81,103,142,190,296,352,630,915,981,1028,1062,1288,1433,1594,1610 'user':358,988,1626 'usual':960,1036 'valu':734 'vari':1219 've':1203,1277 'version':39,385 'victim':1315 'video':252,355,1695 'vm':1654 'void':690,793 'vulner':28,137,306,375,589,678,747,833,969,991,1002,1011,1331,1576,1600,1712 'want':823 'waterman':559,582 'way':857,1099,1335,1590 'webpag':1692 'webpage2':260 'whenev':531,536,569 'wherea':896 'without':1285 'wonder':64 'work':439,1282,1371,1389,1445,1483,1511,1569,1650 'would':992 'write':722,1348 'wrong':457 'xkcd':75 'yylval.ival':637 'yytext':639 'zip':1298"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697038564
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/6654633"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697038564 {#102
      date: 2023-10-11 17:36:04.0 +02:00
    }
  }
  +formDest: "entry"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 14.0 MiB 1.94 ms
Input props
[
  "subject" => App\Entity\Entry {#1821
    +user: Proxies\__CG__\App\Entity\User {#1885
      +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
      +cover: null
      +email: "ugjka@lemmy.world"
      +username: "@ugjka@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[ugjka.net](https://ugjka.net)"
      +lastActive: DateTime @1727066920 {#2097
        date: 2024-09-23 06:48:40.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
      +entries: Doctrine\ORM\PersistentCollection {#2088 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
      +posts: Doctrine\ORM\PersistentCollection {#2241 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
      +follows: Doctrine\ORM\PersistentCollection {#2109 …}
      +followers: Doctrine\ORM\PersistentCollection {#2105 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
      +reports: Doctrine\ORM\PersistentCollection {#2127 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
      +violations: Doctrine\ORM\PersistentCollection {#2297 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
      +awards: Doctrine\ORM\PersistentCollection {#2298 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
      +categories: Doctrine\ORM\PersistentCollection {#2283 …}
      -id: 74308
      -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
      +apId: "ugjka@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ugjka"
      +apPublicUrl: "https://lemmy.world/u/ugjka"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ugjka"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705448316 {#2084
        date: 2024-01-17 00:38:36.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699716147 {#2076
        date: 2023-11-11 16:22:27.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#316
      +icon: Proxies\__CG__\App\Entity\Image {#297 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#326
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#288 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
      +entries: Doctrine\ORM\PersistentCollection {#231 …}
      +posts: Doctrine\ORM\PersistentCollection {#189 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
      +bans: Doctrine\ORM\PersistentCollection {#168 …}
      +reports: Doctrine\ORM\PersistentCollection {#154 …}
      +badges: Doctrine\ORM\PersistentCollection {#132 …}
      +logs: Doctrine\ORM\PersistentCollection {#122 …}
      +awards: Doctrine\ORM\PersistentCollection {#111 …}
      +categories: Doctrine\ORM\PersistentCollection {#98 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#320
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#319
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1922 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2417 …}
    +slug: "Coordinated-Disclosure-1-Click-RCE-on-GNOME-CVE-2023-43641"
    +title: "Coordinated Disclosure: 1-Click RCE on GNOME (CVE-2023-43641)"
    +url: "https://github.blog/2023-10-09-coordinated-disclosure-1-click-rce-on-gnome-cve-2023-43641/"
    +body: """
      Today, in coordination with Ilya Lipnitskiy (the maintainer of libcue) and the distros mailing list, the GitHub Security Lab is disclosing CVE-2023-43641, a memory corruption vulnerability in libcue. We have also sent a text-only version of this blog post to the oss-security list.\n
      \n
      It’s quite likely that you have never heard of libcue before, and are wondering why it’s important. This situation is neatly illustrated by xkcd 2347:\n
      \n
      libcue is a library used for parsing cue sheets—a metadata format for describing the layout of the tracks on a CD. Cue sheets are often used in combination with the FLAC audio file format, which means that libcue is a dependency of some audio players, such as Audacious. But the reason why I decided to audit libcue for security vulnerabilities is that it’s used by tracker-miners: an application that’s included with GNOME—the default graphical desktop environment of many open source operating systems.1 The purpose of tracker-miners is to index the files in your home directory to make them easily searchable. For example, the index is used by this search bar:\n
      \n
      The index is automatically updated when you add or modify a file in certain subdirectories of your home directory, in particular including ~/Downloads. To make a long story short, that means that inadvertently clicking a malicious link is all it takes for an attacker to exploit CVE-2023-43641 and get code execution on your computer:\n
      \n
      The video shows me clicking a link in a webpage2, which causes a cue sheet to be downloaded. Because the file is saved to ~/Downloads, it is then automatically scanned by tracker-miners. And because it has a .cue filename extension, tracker-miners uses libcue to parse the file. The file exploits the vulnerability in libcue to gain code execution and pop a calculator. Cue sheets are just one of many file formats supported by tracker-miners. For example, it also includes scanners for HTML, JPEG, and PDF.\n
      \n
      I am delaying publication of the proof of concept (PoC) used in the video, to give users time to install the patch. But if you’d like to test if your system is vulnerable, try downloading this file, which contains a much simpler version of the PoC that merely causes a (benign) crash.\n
      \n
      The offsets in the full PoC need to be tuned for different distributions. I have only done this for Ubuntu 23.04 and Fedora 38, the most recent releases of Ubuntu and Fedora at this time. In my testing, I have found that the PoC works very reliably when run on the correct distribution (and will trigger a SIGSEGV when run on the wrong distribution). I have not created PoCs for any other distributions, but I believe that all distributions that run GNOME are potentially exploitable. The bug in libcue\n
      \n
      libcue is quite a small project. It’s primarily a bison grammar for cue sheets, with a few data structures for storing the parsed data. A simple example of a cue sheet looks like this:\n
      \n
      REM GENRE “Pop, dance pop” REM DATE 1987 PERFORMER “Rick Astley” TITLE “Whenever You Need Somebody” FILE “Whenever You Need Somebody.mp3” MP3 TRACK 01 AUDIO TITLE “Never Gonna Give You Up” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 00:00:00 TRACK 02 AUDIO TITLE “Whenever You Need Somebody” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 03:35:00\n
      \n
      The vulnerability is in the handling of the INDEX syntax. Replacing one of those INDEX statements with this will trigger the bug:\n
      \n
      INDEX 4294567296 0\n
      \n
      There are two parts to the problem. The first is that the scanner (cue_scanner.l, line 132) uses atoi to scan the integers:\n
      \n
      [[:digit:]]+ { yylval.ival = atoi(yytext); return NUMBER; }\n
      \n
      atoi does not check for integer overflow, so it is easy to construct a negative index. For example, 4294567296 is converted to -400000 by atoi.\n
      \n
      The second part of the problem (and this is the actual vulnerability) is that track_set_index does not check that i ≥ 0:\n
      \n
      void track_set_index(Track *track, int i, long ind) { if (i &gt; MAXINDEX) { fprintf(stderr, “too many indexes\n”); return; }\n
      \n
      ```\n
      \n
      <span style="color:#323232;">track->index[i] = ind;\n
      </span>\n
      ```\n
      \n
      }\n
      \n
      If i is negative, then this code can write to an address outside the bounds of the array. Since the value of ind is also attacker-controlled, this is a very powerful vulnerability.\n
      \n
      The bug is simple to fix by adding an extra condition to the if-statement in track_set_index. This is the proposed patch:\n
      \n
      diff --git a/cd.c b/cd.c index cf77a18…4bbea19 100644 — a/cd.c +++ b/cd.c @@ -339,7 +339,7 @@ track_get_rem(const Track* track)\n
      \n
      void track_set_index(Track *track, int i, long ind) {\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i > MAXINDEX) {\n
          </span>\n
          ```\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i &lt; 0 || i > MAXINDEX) {\n
          </span><span style="color:#323232;">          fprintf(stderr, "too many indexesn");\n
          </span><span style="color:#323232;">          return;\n
          </span><span style="color:#323232;">  }\n
          </span>\n
          ```\n
      \n
      More about tracker-miners\n
      \n
      I want to be clear that this bug is not a vulnerability in tracker-miners. But I have focused on tracker-miners because it magnifies the impact of this bug due to the way that it automatically scans the files in your ~/Downloads directory.\n
      \n
      tracker-miners consists of two processes:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">tracker-miner-fs\n
      </span><span style="color:#323232;">tracker-extract\n
      </span>\n
      ```\n
      \n
      The first, tracker-miner-fs, is a background process which is always running, whereas the second, tracker-extract, is only started on demand to scan new files. tracker-miner-fs uses inotify to monitor specific directories, such as ~/Downloads, ~/Music, and ~/Videos. When a new file is created, it launches tracker-extract to scan the file. tracker-extract sends the results back to tracker-miner-fs (which maintains the index) and then usually shuts down again after a few seconds. The vulnerability only affects tracker-extract, because that’s where libcue is used. Both processes run as the current user, so this vulnerability would need to be chained with a separate privilege escalation vulnerability for an attacker to gain admin privileges.\n
      \n
      The vulnerability will not trigger if tracker-miners is not running. To check if it is, I use the command ps aux | grep track. It usually shows that tracker-miner-fs is running and that tracker-extract isn’t. If neither is running (which I think is rare), then using the search bar (press the “super” key and type something) should automatically restart tracker-miner-fs. As far as I know, tracker-miners is quite tightly integrated into GNOME, so there’s no easy way to switch it off. There’s certainly nothing like a simple checkbox in the settings dialog. There’s some discussion here about how to switch it off by modifying your systemd configuration.\n
      \n
      The two-process architecture of tracker-miners is helpful for exploitation. Firstly, it’s much easier to predict the memory layout in a freshly started process than in one that’s already been running for hours, so the fact that tracker-extract is only started on-demand is very convenient. Even better, tracker-extract always creates a fresh thread to scan the downloaded file, and I’ve found that the heap layout in the thread’s malloc arena is very consistent: it varies between distributions, so, for example, Ubuntu 23.04 has a slightly different layout than Fedora 38, but on the same distribution the layout is identical every single time. Secondly, because tracker-extract is restarted on demand, an attacker could potentially crash it many times until their exploit succeeds. Due to the consistency of the heap layout, I’ve found that my exploit works very reliably without needing to use this, but I could imagine an attacker loading a zip file with thousands of copies of their exploit to increase their chance of success when the victim unzips the download. tracker-miners seccomp sandbox escape\n
      \n
      The difficult part of exploiting this vulnerability was finding a way to bypass ASLR. But what I didn’t realize when I started writing the PoC, is that tracker-extract also has a seccomp sandbox which is intended to prevent this kind of exploit from working. It was a nasty surprise when I thought I had all the pieces in place for a working PoC and it failed with the error message: Disallowed syscall “close_range” caught in sandbox. But I still failed to understand that I was attempting a sandbox escape here. I just thought I needed to take a different code path that didn’t use the close_range function. So I tried a different route, it worked, and I didn’t give it any more thought until the GNOME developers asked how I’d managed to escape the sandbox. It turned out that I’d discovered the escape entirely by accident: while I was working on the new route, I unwittingly made a change to the PoC that solved it. I have since discovered that I could have got the original PoC working with a one-line change. I’ll go into more detail on this in a follow-up blog post when I publish the PoC, but for now I’ll just mention that, in response to this, Carlos Garnacho has very quickly implemented some changes to strengthen the sandbox, which will prevent this exploitation path from working in the future. Conclusion\n
      \n
      Sometimes a vulnerability in a seemingly innocuous library can have a large impact. Due to the way that it’s used by tracker-miners, this vulnerability in libcue became a 1-click RCE. If you use GNOME, please update today!\n
      \n
      I’m delaying the release of the full PoC to give users time to install the update, but planning to publish a follow-up blog post soon with details of how the full PoC works. Save an unpatched VM with Ubuntu 23.04 or Fedora 38 if you’d like to test the full PoC when I release it. Notes\n
      \n
      ```\n
      \n
      <span style="color:#323232;">I currently run Ubuntu 23.04 as my main OS and I love the GNOME desktop environment. ↩\n
      </span><span style="color:#323232;">The webpage in the video is https://bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595, which is where I first notified Ubuntu’s security team about this vulnerability. They suggested that I contact the distros list. ↩\n
      </span>\n
      ```
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 0
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697038564 {#2445
      date: 2023-10-11 17:36:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2420 …}
    +votes: Doctrine\ORM\PersistentCollection {#1916 …}
    +reports: Doctrine\ORM\PersistentCollection {#1857 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1950 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1903 …}
    +badges: Doctrine\ORM\PersistentCollection {#1364 …}
    +children: []
    -id: 15227
    -titleTs: "'-2023':9 '-43641':10 '1':3 'click':4 'coordin':1 'cve':8 'disclosur':2 'gnome':7 'rce':5"
    -bodyTs: "'+339':785 '-2023':23,242 '-339':783 '-400000':664 '-43641':24,243 '/downloads':217,275,866,923 '/music':924 '/ubuntu/+source/libcue/+bug/2036595,':1699 '/videos':926 '0':612,689,808 '00':562,563,564,587 '01':542,561,584 '02':566 '03':585 '1':1605 '100644':780 '132':629 '1987':526 '23.04':415,1226,1657,1679 '2347':76 '35':586 '38':418,1234,1660 '4294567296':611,660 '4bbea19':779 '7':784,786 'a/cd.c':775,781 'accid':1479 'actual':677 'ad':755 'add':202 'address':725 'admin':1008 'affect':971 'aitken':557,580 'alreadi':1165 'also':33,334,738,1356 'alway':894,1191 'applic':148 'architectur':1136 'arena':1214 'array':731 'ask':1459 'aslr':1338 'astley':529,552,575 'atoi':631,638,642,666 'attack':238,740,1005,1257,1295 'attacker-control':739 'attempt':1414 'audaci':125 'audio':109,121,543,567 'audit':133 'automat':198,279,860,1074 'aux':1032 'b/cd.c':776,782 'back':948 'background':890 'bar':194,1065 'becam':1603 'believ':470 'benign':393 'better':1187 'bison':494 'blog':42,1531,1640 'bound':728 'bug':481,609,749,829,853 'bugs.launchpad.net':1698 'bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595,':1697 'bypass':1337 'calcul':316 'carlo':1550 'caught':1402 'caus':262,391 'cd':98 'certain':208,1106 'cf77a18':778 'chain':996 'chanc':1310 'chang':1492,1517,1557 'check':645,686,1023 'checkbox':1111 'clear':826 'click':228,255,1606 'close':1400,1435 'code':246,311,720,1428 'combin':105 'command':1030 'comput':250 'concept':350 'conclus':1573 'condit':758 'configur':1131 'consist':871,1217,1271 'const':790 'construct':654 'contact':1717 'contain':381 'control':741 'conveni':1185 'convert':662 'coordin':3 'copi':1303 'correct':446 'corrupt':27 'could':1258,1292,1505 'crash':394,1260 'creat':462,932,1192 'cue':84,99,264,290,317,497,514,626 'current':987,1676 'cve':22,241 'd':367,1462,1473,1663 'danc':522 'data':502,508 'date':525 'decid':131 'default':155 'delay':344,1617 'demand':906,1182,1255 'depend':118 'describ':90 'desktop':157,1689 'detail':1523,1644 'develop':1458 'dialog':1115 'didn':1342,1431,1448 'diff':773 'differ':406,1230,1427,1442 'difficult':1326 'digit':636 'directori':179,213,867,920 'disallow':1398 'disclos':21 'discov':1474,1502 'discuss':1119 'distribut':407,447,458,467,473,1221,1239 'distro':13,1719 'done':411 'download':268,377,1199,1318 'due':854,1268,1587 'easi':652,1098 'easier':1149 'easili':183 'entir':1477 'environ':158,1690 'error':1396 'escal':1001 'escap':1324,1417,1465,1476 'even':1186 'everi':1244 'exampl':186,332,511,659,1224 'execut':247,312 'exploit':240,304,479,1144,1266,1281,1306,1329,1369,1566 'extens':292 'extra':757 'extract':881,901,937,944,974,1049,1176,1190,1251,1355 'fact':1172 'fail':1393,1408 'far':1081 'fedora':417,426,1233,1659 'file':110,175,206,271,301,303,324,379,535,863,910,930,941,1200,1299 'filenam':291 'find':1333 'first':621,883,1145,1704 'fix':753 'flac':108 'focus':841 'follow':1529,1638 'follow-up':1528,1637 'format':88,111,325 'found':435,1204,1278 'fprintf':703,811 'fresh':1157,1194 'fs':878,887,914,953,1042,1079 'full':399,1622,1648,1668 'function':1437 'futur':1572 'gain':310,1007 'garnacho':1551 'genr':520 'get':245,788 'git':774 'github':17 'give':357,547,1450,1625 'gnome':153,476,1093,1457,1611,1688 'go':1520 'gonna':546 'got':1507 'grammar':495 'graphic':156 'grep':1033 'handl':593 'heap':1207,1274 'heard':58 'help':1142 'home':178,212 'hour':1169 'html':338 'ident':1243 'if-stat':761 'illustr':73 'ilya':5 'imagin':1293 'impact':850,1586 'implement':1555 'import':68 'inadvert':227 'includ':151,216,335 'increas':1308 'ind':699,713,736,802 'index':173,188,196,560,583,596,602,610,657,683,693,707,711,767,777,796,957 'indexesn':815 'innocu':1580 'inotifi':916 'instal':361,1629 'int':696,799 'integ':635,647 'integr':1091 'intend':1363 'isn':1050 'jpeg':339 'key':1069 'kind':1367 'know':1084 'lab':19 'larg':1585 'launch':934 'layout':92,1154,1208,1231,1241,1275 'libcu':10,30,60,77,115,134,297,308,483,484,979,1602 'librari':80,1581 'like':53,368,517,1108,1664 'line':628,1516 'link':231,257 'lipnitskiy':6 'list':15,49,1720 'll':1519,1542 'load':1296 'long':221,698,801 'look':516 'love':1686 'm':1616 'made':1490 'magnifi':848 'mail':14 'main':1682 'maintain':8,955 'make':181,219 'malici':230 'malloc':1213 'manag':1463 'mani':160,323,706,814,1262 'matt':556,579 'maxindex':702,805,810 'mean':113,225 'memori':26,1153 'mention':1544 'mere':390 'messag':1397 'metadata':87 'mike':554,577 'miner':146,170,284,295,330,821,837,845,870,877,886,913,952,1018,1041,1078,1087,1140,1321,1598 'modifi':204,1128 'monitor':918 'mp3':540 'much':383,1148 'n':708 'nasti':1375 'neat':72 'need':401,533,538,571,993,1286,1423 'negat':656,717 'neither':1053 'never':57,545 'new':909,929,1486 'note':1674 'noth':1107 'notifi':1705 'number':641 'offset':396 'often':102 'on-demand':1180 'one':321,599,1162,1515 'one-lin':1514 'open':161 'oper':163 'origin':1509 'os':1683 'oss':47 'oss-secur':46 'outsid':726 'overflow':648 'pars':83,299,507 'part':616,669,1327 'particular':215 'patch':363,772 'path':1429,1567 'pdf':341 'perform':527,550,573 'pete':558,581 'piec':1384 'place':1386 'plan':1633 'player':122 'pleas':1612 'poc':351,388,400,438,463,1350,1390,1495,1510,1537,1623,1649,1669 'pop':314,521,523 'post':43,1532,1641 'potenti':478,1259 'power':746 'predict':1151 'press':1066 'prevent':1365,1564 'primarili':492 'privileg':1000,1009 'problem':619,672 'process':874,891,983,1135,1159 'project':489 'proof':348 'propos':771 'ps':1031 'public':345 'publish':1535,1635 'purpos':166 'quick':1554 'quit':52,486,1089 'rang':1401,1436 'rare':1060 'rce':1607 'realiz':1344 'reason':128 'recent':421 'releas':422,1619,1672 'reliabl':441,1284 'rem':519,524,789 'replac':598 'respons':1547 'restart':1075,1253 'result':947 'return':640,709,816 'rick':528,551,574 'rout':1443,1487 'run':443,454,475,895,984,1021,1044,1055,1167,1677 'sandbox':1323,1360,1404,1416,1467,1561 'save':273,1651 'scan':280,633,861,908,939,1197 'scanner':336,625 'scanner.l':627 'search':193,1064 'searchabl':184 'seccomp':1322,1359 'second':668,898,967,1247 'secur':18,48,136,1708 'seem':1579 'send':945 'sent':34 'separ':999 'set':682,692,766,795,1114 'sheet':85,100,265,318,498,515 'short':223 'show':253,1037 'shut':961 'sigsegv':452 'simpl':510,751,1110 'simpler':384 'sinc':732,1501 'singl':1245 'situat':70 'slight':1229 'small':488 'solv':1497 'somebodi':534,572 'somebody.mp3':539 'someth':1072 'sometim':1574 'songwrit':553,576 'soon':1642 'sourc':162 'specif':919 'start':904,1158,1179,1347 'statement':603,763 'stderr':704,812 'still':1407 'stock':555,578 'store':505 'stori':222 'strengthen':1559 'structur':503 'subdirectori':209 'succeed':1267 'success':1312 'suggest':1714 'super':1068 'support':326 'surpris':1376 'switch':1101,1124 'syntax':597 'syscal':1399 'system':373 'systemd':1130 'systems.1':164 'take':235,1425 'team':1709 'test':370,432,1666 'text':37 'text-on':36 'think':1058 'thought':1379,1421,1454 'thousand':1301 'thread':1195,1211 'tight':1090 'time':359,429,1246,1263,1627 'titl':530,544,568 'today':1,1614 'track':95,541,565,681,691,694,695,710,765,787,791,792,794,797,798,1034 'tracker':145,169,283,294,329,820,836,844,869,876,880,885,900,912,936,943,951,973,1017,1040,1048,1077,1086,1139,1175,1189,1250,1320,1354,1597 'tracker-extract':879,899,935,942,972,1047,1174,1188,1249,1353 'tracker-min':144,168,282,293,328,819,835,843,868,1016,1085,1138,1319,1596 'tracker-miner-f':875,884,911,950,1039,1076 'tri':376,1440 'trigger':450,607,1014 'tune':404 'turn':1469 'two':615,873,1134 'two-process':1133 'type':1071 'ubuntu':414,424,1225,1656,1678,1706 'understand':1410 'unpatch':1653 'unwit':1489 'unzip':1316 'updat':199,1613,1631 'use':81,103,142,190,296,352,630,915,981,1028,1062,1288,1433,1594,1610 'user':358,988,1626 'usual':960,1036 'valu':734 'vari':1219 've':1203,1277 'version':39,385 'victim':1315 'video':252,355,1695 'vm':1654 'void':690,793 'vulner':28,137,306,375,589,678,747,833,969,991,1002,1011,1331,1576,1600,1712 'want':823 'waterman':559,582 'way':857,1099,1335,1590 'webpag':1692 'webpage2':260 'whenev':531,536,569 'wherea':896 'without':1285 'wonder':64 'work':439,1282,1371,1389,1445,1483,1511,1569,1650 'would':992 'write':722,1348 'wrong':457 'xkcd':75 'yylval.ival':637 'yytext':639 'zip':1298"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697038564
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/6654633"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697038564 {#102
      date: 2023-10-11 17:36:04.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#2569
  +formDest: "entry"
  +subject: App\Entity\Entry {#1821
    +user: Proxies\__CG__\App\Entity\User {#1885
      +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
      +cover: null
      +email: "ugjka@lemmy.world"
      +username: "@ugjka@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "[ugjka.net](https://ugjka.net)"
      +lastActive: DateTime @1727066920 {#2097
        date: 2024-09-23 06:48:40.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
      +entries: Doctrine\ORM\PersistentCollection {#2088 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
      +posts: Doctrine\ORM\PersistentCollection {#2241 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
      +follows: Doctrine\ORM\PersistentCollection {#2109 …}
      +followers: Doctrine\ORM\PersistentCollection {#2105 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
      +reports: Doctrine\ORM\PersistentCollection {#2127 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
      +violations: Doctrine\ORM\PersistentCollection {#2297 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
      +awards: Doctrine\ORM\PersistentCollection {#2298 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
      +categories: Doctrine\ORM\PersistentCollection {#2283 …}
      -id: 74308
      -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
      +apId: "ugjka@lemmy.world"
      +apProfileId: "https://lemmy.world/u/ugjka"
      +apPublicUrl: "https://lemmy.world/u/ugjka"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "ugjka"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1705448316 {#2084
        date: 2024-01-17 00:38:36.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1699716147 {#2076
        date: 2023-11-11 16:22:27.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#316
      +icon: Proxies\__CG__\App\Entity\Image {#297 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#326
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#288 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
      +entries: Doctrine\ORM\PersistentCollection {#231 …}
      +posts: Doctrine\ORM\PersistentCollection {#189 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
      +bans: Doctrine\ORM\PersistentCollection {#168 …}
      +reports: Doctrine\ORM\PersistentCollection {#154 …}
      +badges: Doctrine\ORM\PersistentCollection {#132 …}
      +logs: Doctrine\ORM\PersistentCollection {#122 …}
      +awards: Doctrine\ORM\PersistentCollection {#111 …}
      +categories: Doctrine\ORM\PersistentCollection {#98 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#320
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#319
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1922 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2417 …}
    +slug: "Coordinated-Disclosure-1-Click-RCE-on-GNOME-CVE-2023-43641"
    +title: "Coordinated Disclosure: 1-Click RCE on GNOME (CVE-2023-43641)"
    +url: "https://github.blog/2023-10-09-coordinated-disclosure-1-click-rce-on-gnome-cve-2023-43641/"
    +body: """
      Today, in coordination with Ilya Lipnitskiy (the maintainer of libcue) and the distros mailing list, the GitHub Security Lab is disclosing CVE-2023-43641, a memory corruption vulnerability in libcue. We have also sent a text-only version of this blog post to the oss-security list.\n
      \n
      It’s quite likely that you have never heard of libcue before, and are wondering why it’s important. This situation is neatly illustrated by xkcd 2347:\n
      \n
      libcue is a library used for parsing cue sheets—a metadata format for describing the layout of the tracks on a CD. Cue sheets are often used in combination with the FLAC audio file format, which means that libcue is a dependency of some audio players, such as Audacious. But the reason why I decided to audit libcue for security vulnerabilities is that it’s used by tracker-miners: an application that’s included with GNOME—the default graphical desktop environment of many open source operating systems.1 The purpose of tracker-miners is to index the files in your home directory to make them easily searchable. For example, the index is used by this search bar:\n
      \n
      The index is automatically updated when you add or modify a file in certain subdirectories of your home directory, in particular including ~/Downloads. To make a long story short, that means that inadvertently clicking a malicious link is all it takes for an attacker to exploit CVE-2023-43641 and get code execution on your computer:\n
      \n
      The video shows me clicking a link in a webpage2, which causes a cue sheet to be downloaded. Because the file is saved to ~/Downloads, it is then automatically scanned by tracker-miners. And because it has a .cue filename extension, tracker-miners uses libcue to parse the file. The file exploits the vulnerability in libcue to gain code execution and pop a calculator. Cue sheets are just one of many file formats supported by tracker-miners. For example, it also includes scanners for HTML, JPEG, and PDF.\n
      \n
      I am delaying publication of the proof of concept (PoC) used in the video, to give users time to install the patch. But if you’d like to test if your system is vulnerable, try downloading this file, which contains a much simpler version of the PoC that merely causes a (benign) crash.\n
      \n
      The offsets in the full PoC need to be tuned for different distributions. I have only done this for Ubuntu 23.04 and Fedora 38, the most recent releases of Ubuntu and Fedora at this time. In my testing, I have found that the PoC works very reliably when run on the correct distribution (and will trigger a SIGSEGV when run on the wrong distribution). I have not created PoCs for any other distributions, but I believe that all distributions that run GNOME are potentially exploitable. The bug in libcue\n
      \n
      libcue is quite a small project. It’s primarily a bison grammar for cue sheets, with a few data structures for storing the parsed data. A simple example of a cue sheet looks like this:\n
      \n
      REM GENRE “Pop, dance pop” REM DATE 1987 PERFORMER “Rick Astley” TITLE “Whenever You Need Somebody” FILE “Whenever You Need Somebody.mp3” MP3 TRACK 01 AUDIO TITLE “Never Gonna Give You Up” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 00:00:00 TRACK 02 AUDIO TITLE “Whenever You Need Somebody” PERFORMER “Rick Astley” SONGWRITER “Mike Stock, Matt Aitken, Pete Waterman” INDEX 01 03:35:00\n
      \n
      The vulnerability is in the handling of the INDEX syntax. Replacing one of those INDEX statements with this will trigger the bug:\n
      \n
      INDEX 4294567296 0\n
      \n
      There are two parts to the problem. The first is that the scanner (cue_scanner.l, line 132) uses atoi to scan the integers:\n
      \n
      [[:digit:]]+ { yylval.ival = atoi(yytext); return NUMBER; }\n
      \n
      atoi does not check for integer overflow, so it is easy to construct a negative index. For example, 4294567296 is converted to -400000 by atoi.\n
      \n
      The second part of the problem (and this is the actual vulnerability) is that track_set_index does not check that i ≥ 0:\n
      \n
      void track_set_index(Track *track, int i, long ind) { if (i &gt; MAXINDEX) { fprintf(stderr, “too many indexes\n”); return; }\n
      \n
      ```\n
      \n
      <span style="color:#323232;">track->index[i] = ind;\n
      </span>\n
      ```\n
      \n
      }\n
      \n
      If i is negative, then this code can write to an address outside the bounds of the array. Since the value of ind is also attacker-controlled, this is a very powerful vulnerability.\n
      \n
      The bug is simple to fix by adding an extra condition to the if-statement in track_set_index. This is the proposed patch:\n
      \n
      diff --git a/cd.c b/cd.c index cf77a18…4bbea19 100644 — a/cd.c +++ b/cd.c @@ -339,7 +339,7 @@ track_get_rem(const Track* track)\n
      \n
      void track_set_index(Track *track, int i, long ind) {\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i > MAXINDEX) {\n
          </span>\n
          ```\n
      \n
      - ```\n
          \n
          <span style="color:#323232;">  if (i &lt; 0 || i > MAXINDEX) {\n
          </span><span style="color:#323232;">          fprintf(stderr, "too many indexesn");\n
          </span><span style="color:#323232;">          return;\n
          </span><span style="color:#323232;">  }\n
          </span>\n
          ```\n
      \n
      More about tracker-miners\n
      \n
      I want to be clear that this bug is not a vulnerability in tracker-miners. But I have focused on tracker-miners because it magnifies the impact of this bug due to the way that it automatically scans the files in your ~/Downloads directory.\n
      \n
      tracker-miners consists of two processes:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">tracker-miner-fs\n
      </span><span style="color:#323232;">tracker-extract\n
      </span>\n
      ```\n
      \n
      The first, tracker-miner-fs, is a background process which is always running, whereas the second, tracker-extract, is only started on demand to scan new files. tracker-miner-fs uses inotify to monitor specific directories, such as ~/Downloads, ~/Music, and ~/Videos. When a new file is created, it launches tracker-extract to scan the file. tracker-extract sends the results back to tracker-miner-fs (which maintains the index) and then usually shuts down again after a few seconds. The vulnerability only affects tracker-extract, because that’s where libcue is used. Both processes run as the current user, so this vulnerability would need to be chained with a separate privilege escalation vulnerability for an attacker to gain admin privileges.\n
      \n
      The vulnerability will not trigger if tracker-miners is not running. To check if it is, I use the command ps aux | grep track. It usually shows that tracker-miner-fs is running and that tracker-extract isn’t. If neither is running (which I think is rare), then using the search bar (press the “super” key and type something) should automatically restart tracker-miner-fs. As far as I know, tracker-miners is quite tightly integrated into GNOME, so there’s no easy way to switch it off. There’s certainly nothing like a simple checkbox in the settings dialog. There’s some discussion here about how to switch it off by modifying your systemd configuration.\n
      \n
      The two-process architecture of tracker-miners is helpful for exploitation. Firstly, it’s much easier to predict the memory layout in a freshly started process than in one that’s already been running for hours, so the fact that tracker-extract is only started on-demand is very convenient. Even better, tracker-extract always creates a fresh thread to scan the downloaded file, and I’ve found that the heap layout in the thread’s malloc arena is very consistent: it varies between distributions, so, for example, Ubuntu 23.04 has a slightly different layout than Fedora 38, but on the same distribution the layout is identical every single time. Secondly, because tracker-extract is restarted on demand, an attacker could potentially crash it many times until their exploit succeeds. Due to the consistency of the heap layout, I’ve found that my exploit works very reliably without needing to use this, but I could imagine an attacker loading a zip file with thousands of copies of their exploit to increase their chance of success when the victim unzips the download. tracker-miners seccomp sandbox escape\n
      \n
      The difficult part of exploiting this vulnerability was finding a way to bypass ASLR. But what I didn’t realize when I started writing the PoC, is that tracker-extract also has a seccomp sandbox which is intended to prevent this kind of exploit from working. It was a nasty surprise when I thought I had all the pieces in place for a working PoC and it failed with the error message: Disallowed syscall “close_range” caught in sandbox. But I still failed to understand that I was attempting a sandbox escape here. I just thought I needed to take a different code path that didn’t use the close_range function. So I tried a different route, it worked, and I didn’t give it any more thought until the GNOME developers asked how I’d managed to escape the sandbox. It turned out that I’d discovered the escape entirely by accident: while I was working on the new route, I unwittingly made a change to the PoC that solved it. I have since discovered that I could have got the original PoC working with a one-line change. I’ll go into more detail on this in a follow-up blog post when I publish the PoC, but for now I’ll just mention that, in response to this, Carlos Garnacho has very quickly implemented some changes to strengthen the sandbox, which will prevent this exploitation path from working in the future. Conclusion\n
      \n
      Sometimes a vulnerability in a seemingly innocuous library can have a large impact. Due to the way that it’s used by tracker-miners, this vulnerability in libcue became a 1-click RCE. If you use GNOME, please update today!\n
      \n
      I’m delaying the release of the full PoC to give users time to install the update, but planning to publish a follow-up blog post soon with details of how the full PoC works. Save an unpatched VM with Ubuntu 23.04 or Fedora 38 if you’d like to test the full PoC when I release it. Notes\n
      \n
      ```\n
      \n
      <span style="color:#323232;">I currently run Ubuntu 23.04 as my main OS and I love the GNOME desktop environment. ↩\n
      </span><span style="color:#323232;">The webpage in the video is https://bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595, which is where I first notified Ubuntu’s security team about this vulnerability. They suggested that I contact the distros list. ↩\n
      </span>\n
      ```
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 0
    +favouriteCount: 1
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697038564 {#2445
      date: 2023-10-11 17:36:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2420 …}
    +votes: Doctrine\ORM\PersistentCollection {#1916 …}
    +reports: Doctrine\ORM\PersistentCollection {#1857 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1950 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1903 …}
    +badges: Doctrine\ORM\PersistentCollection {#1364 …}
    +children: []
    -id: 15227
    -titleTs: "'-2023':9 '-43641':10 '1':3 'click':4 'coordin':1 'cve':8 'disclosur':2 'gnome':7 'rce':5"
    -bodyTs: "'+339':785 '-2023':23,242 '-339':783 '-400000':664 '-43641':24,243 '/downloads':217,275,866,923 '/music':924 '/ubuntu/+source/libcue/+bug/2036595,':1699 '/videos':926 '0':612,689,808 '00':562,563,564,587 '01':542,561,584 '02':566 '03':585 '1':1605 '100644':780 '132':629 '1987':526 '23.04':415,1226,1657,1679 '2347':76 '35':586 '38':418,1234,1660 '4294567296':611,660 '4bbea19':779 '7':784,786 'a/cd.c':775,781 'accid':1479 'actual':677 'ad':755 'add':202 'address':725 'admin':1008 'affect':971 'aitken':557,580 'alreadi':1165 'also':33,334,738,1356 'alway':894,1191 'applic':148 'architectur':1136 'arena':1214 'array':731 'ask':1459 'aslr':1338 'astley':529,552,575 'atoi':631,638,642,666 'attack':238,740,1005,1257,1295 'attacker-control':739 'attempt':1414 'audaci':125 'audio':109,121,543,567 'audit':133 'automat':198,279,860,1074 'aux':1032 'b/cd.c':776,782 'back':948 'background':890 'bar':194,1065 'becam':1603 'believ':470 'benign':393 'better':1187 'bison':494 'blog':42,1531,1640 'bound':728 'bug':481,609,749,829,853 'bugs.launchpad.net':1698 'bugs.launchpad.net/ubuntu/+source/libcue/+bug/2036595,':1697 'bypass':1337 'calcul':316 'carlo':1550 'caught':1402 'caus':262,391 'cd':98 'certain':208,1106 'cf77a18':778 'chain':996 'chanc':1310 'chang':1492,1517,1557 'check':645,686,1023 'checkbox':1111 'clear':826 'click':228,255,1606 'close':1400,1435 'code':246,311,720,1428 'combin':105 'command':1030 'comput':250 'concept':350 'conclus':1573 'condit':758 'configur':1131 'consist':871,1217,1271 'const':790 'construct':654 'contact':1717 'contain':381 'control':741 'conveni':1185 'convert':662 'coordin':3 'copi':1303 'correct':446 'corrupt':27 'could':1258,1292,1505 'crash':394,1260 'creat':462,932,1192 'cue':84,99,264,290,317,497,514,626 'current':987,1676 'cve':22,241 'd':367,1462,1473,1663 'danc':522 'data':502,508 'date':525 'decid':131 'default':155 'delay':344,1617 'demand':906,1182,1255 'depend':118 'describ':90 'desktop':157,1689 'detail':1523,1644 'develop':1458 'dialog':1115 'didn':1342,1431,1448 'diff':773 'differ':406,1230,1427,1442 'difficult':1326 'digit':636 'directori':179,213,867,920 'disallow':1398 'disclos':21 'discov':1474,1502 'discuss':1119 'distribut':407,447,458,467,473,1221,1239 'distro':13,1719 'done':411 'download':268,377,1199,1318 'due':854,1268,1587 'easi':652,1098 'easier':1149 'easili':183 'entir':1477 'environ':158,1690 'error':1396 'escal':1001 'escap':1324,1417,1465,1476 'even':1186 'everi':1244 'exampl':186,332,511,659,1224 'execut':247,312 'exploit':240,304,479,1144,1266,1281,1306,1329,1369,1566 'extens':292 'extra':757 'extract':881,901,937,944,974,1049,1176,1190,1251,1355 'fact':1172 'fail':1393,1408 'far':1081 'fedora':417,426,1233,1659 'file':110,175,206,271,301,303,324,379,535,863,910,930,941,1200,1299 'filenam':291 'find':1333 'first':621,883,1145,1704 'fix':753 'flac':108 'focus':841 'follow':1529,1638 'follow-up':1528,1637 'format':88,111,325 'found':435,1204,1278 'fprintf':703,811 'fresh':1157,1194 'fs':878,887,914,953,1042,1079 'full':399,1622,1648,1668 'function':1437 'futur':1572 'gain':310,1007 'garnacho':1551 'genr':520 'get':245,788 'git':774 'github':17 'give':357,547,1450,1625 'gnome':153,476,1093,1457,1611,1688 'go':1520 'gonna':546 'got':1507 'grammar':495 'graphic':156 'grep':1033 'handl':593 'heap':1207,1274 'heard':58 'help':1142 'home':178,212 'hour':1169 'html':338 'ident':1243 'if-stat':761 'illustr':73 'ilya':5 'imagin':1293 'impact':850,1586 'implement':1555 'import':68 'inadvert':227 'includ':151,216,335 'increas':1308 'ind':699,713,736,802 'index':173,188,196,560,583,596,602,610,657,683,693,707,711,767,777,796,957 'indexesn':815 'innocu':1580 'inotifi':916 'instal':361,1629 'int':696,799 'integ':635,647 'integr':1091 'intend':1363 'isn':1050 'jpeg':339 'key':1069 'kind':1367 'know':1084 'lab':19 'larg':1585 'launch':934 'layout':92,1154,1208,1231,1241,1275 'libcu':10,30,60,77,115,134,297,308,483,484,979,1602 'librari':80,1581 'like':53,368,517,1108,1664 'line':628,1516 'link':231,257 'lipnitskiy':6 'list':15,49,1720 'll':1519,1542 'load':1296 'long':221,698,801 'look':516 'love':1686 'm':1616 'made':1490 'magnifi':848 'mail':14 'main':1682 'maintain':8,955 'make':181,219 'malici':230 'malloc':1213 'manag':1463 'mani':160,323,706,814,1262 'matt':556,579 'maxindex':702,805,810 'mean':113,225 'memori':26,1153 'mention':1544 'mere':390 'messag':1397 'metadata':87 'mike':554,577 'miner':146,170,284,295,330,821,837,845,870,877,886,913,952,1018,1041,1078,1087,1140,1321,1598 'modifi':204,1128 'monitor':918 'mp3':540 'much':383,1148 'n':708 'nasti':1375 'neat':72 'need':401,533,538,571,993,1286,1423 'negat':656,717 'neither':1053 'never':57,545 'new':909,929,1486 'note':1674 'noth':1107 'notifi':1705 'number':641 'offset':396 'often':102 'on-demand':1180 'one':321,599,1162,1515 'one-lin':1514 'open':161 'oper':163 'origin':1509 'os':1683 'oss':47 'oss-secur':46 'outsid':726 'overflow':648 'pars':83,299,507 'part':616,669,1327 'particular':215 'patch':363,772 'path':1429,1567 'pdf':341 'perform':527,550,573 'pete':558,581 'piec':1384 'place':1386 'plan':1633 'player':122 'pleas':1612 'poc':351,388,400,438,463,1350,1390,1495,1510,1537,1623,1649,1669 'pop':314,521,523 'post':43,1532,1641 'potenti':478,1259 'power':746 'predict':1151 'press':1066 'prevent':1365,1564 'primarili':492 'privileg':1000,1009 'problem':619,672 'process':874,891,983,1135,1159 'project':489 'proof':348 'propos':771 'ps':1031 'public':345 'publish':1535,1635 'purpos':166 'quick':1554 'quit':52,486,1089 'rang':1401,1436 'rare':1060 'rce':1607 'realiz':1344 'reason':128 'recent':421 'releas':422,1619,1672 'reliabl':441,1284 'rem':519,524,789 'replac':598 'respons':1547 'restart':1075,1253 'result':947 'return':640,709,816 'rick':528,551,574 'rout':1443,1487 'run':443,454,475,895,984,1021,1044,1055,1167,1677 'sandbox':1323,1360,1404,1416,1467,1561 'save':273,1651 'scan':280,633,861,908,939,1197 'scanner':336,625 'scanner.l':627 'search':193,1064 'searchabl':184 'seccomp':1322,1359 'second':668,898,967,1247 'secur':18,48,136,1708 'seem':1579 'send':945 'sent':34 'separ':999 'set':682,692,766,795,1114 'sheet':85,100,265,318,498,515 'short':223 'show':253,1037 'shut':961 'sigsegv':452 'simpl':510,751,1110 'simpler':384 'sinc':732,1501 'singl':1245 'situat':70 'slight':1229 'small':488 'solv':1497 'somebodi':534,572 'somebody.mp3':539 'someth':1072 'sometim':1574 'songwrit':553,576 'soon':1642 'sourc':162 'specif':919 'start':904,1158,1179,1347 'statement':603,763 'stderr':704,812 'still':1407 'stock':555,578 'store':505 'stori':222 'strengthen':1559 'structur':503 'subdirectori':209 'succeed':1267 'success':1312 'suggest':1714 'super':1068 'support':326 'surpris':1376 'switch':1101,1124 'syntax':597 'syscal':1399 'system':373 'systemd':1130 'systems.1':164 'take':235,1425 'team':1709 'test':370,432,1666 'text':37 'text-on':36 'think':1058 'thought':1379,1421,1454 'thousand':1301 'thread':1195,1211 'tight':1090 'time':359,429,1246,1263,1627 'titl':530,544,568 'today':1,1614 'track':95,541,565,681,691,694,695,710,765,787,791,792,794,797,798,1034 'tracker':145,169,283,294,329,820,836,844,869,876,880,885,900,912,936,943,951,973,1017,1040,1048,1077,1086,1139,1175,1189,1250,1320,1354,1597 'tracker-extract':879,899,935,942,972,1047,1174,1188,1249,1353 'tracker-min':144,168,282,293,328,819,835,843,868,1016,1085,1138,1319,1596 'tracker-miner-f':875,884,911,950,1039,1076 'tri':376,1440 'trigger':450,607,1014 'tune':404 'turn':1469 'two':615,873,1134 'two-process':1133 'type':1071 'ubuntu':414,424,1225,1656,1678,1706 'understand':1410 'unpatch':1653 'unwit':1489 'unzip':1316 'updat':199,1613,1631 'use':81,103,142,190,296,352,630,915,981,1028,1062,1288,1433,1594,1610 'user':358,988,1626 'usual':960,1036 'valu':734 'vari':1219 've':1203,1277 'version':39,385 'victim':1315 'video':252,355,1695 'vm':1654 'void':690,793 'vulner':28,137,306,375,589,678,747,833,969,991,1002,1011,1331,1576,1600,1712 'want':823 'waterman':559,582 'way':857,1099,1335,1590 'webpag':1692 'webpage2':260 'whenev':531,536,569 'wherea':896 'without':1285 'wonder':64 'work':439,1282,1371,1389,1445,1483,1511,1569,1650 'would':992 'write':722,1348 'wrong':457 'xkcd':75 'yylval.ival':637 'yytext':639 'zip':1298"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697038564
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/6654633"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697038564 {#102
      date: 2023-10-11 17:36:04.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
date App\Twig\Components\DateComponent 14.0 MiB 0.18 ms
Input props
[
  "date" => DateTimeImmutable @1701763839 {#2928
    date: 2023-12-05 09:10:39.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#2984
  +date: DateTimeImmutable @1701763839 {#2928
    date: 2023-12-05 09:10:39.0 +01:00
  }
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 14.0 MiB 0.25 ms
Input props
[
  "label" => "Sidebar position"
  "settingsKey" => "KBIN_GENERAL_SIDEBAR_POSITION"
  "values" => [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  "defaultValue" => "RIGHT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#3071
  +label: "Sidebar position"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SIDEBAR_POSITION"
  +values: [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  +defaultValue: "RIGHT"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.22 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3143
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.16 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3206
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.17 ms
Input props
[
  "label" => "Infinite scrolling"
  "help" => "Automatically load more content when you reach the bottom of the page."
  "settingsKey" => "KBIN_GENERAL_INFINITE_SCROLL"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3262
  +label: "Infinite scrolling"
  +help: "Automatically load more content when you reach the bottom of the page."
  +settingsKey: "KBIN_GENERAL_INFINITE_SCROLL"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.17 ms
Input props
[
  "label" => "Sticky navbar"
  "help" => "The navbar will stick to the top of the page when you scroll down."
  "settingsKey" => "KBIN_GENERAL_FIXED_NAVBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3321
  +label: "Sticky navbar"
  +help: "The navbar will stick to the top of the page when you scroll down."
  +settingsKey: "KBIN_GENERAL_FIXED_NAVBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3377
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3433
  +label: "Turbo mode (experimental)"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TURBO"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.21 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3491
  +label: "Mark new comments"
  +help: ""
  +settingsKey: "KBIN_MARK_NEW_COMMENTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3554
  +label: "Show "Support Us" block"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK"
  +defaultValue: true
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.14 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3612
  +label: "Show subscribed users"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_USERS"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.14 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3668
  +label: "Show subscribed magazines"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.15 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3724
  +label: "Show subscribed domains"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.16 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3780
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_ENTRIES_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.19 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3836
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.20 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3892
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.22 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3948
  +label: "Show magazines’ icons"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.25 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4004
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.21 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4060
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_POSTS_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.15 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4116
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 14.0 MiB 0.20 ms
Input props
[
  "label" => "Comment reply position"
  "help" => "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  "settingsKey" => "KBIN_COMMENTS_REPLY_POSITION"
  "values" => [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  "defaultValue" => "TOP"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#4172
  +label: "Comment reply position"
  +help: "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  +settingsKey: "KBIN_COMMENTS_REPLY_POSITION"
  +values: [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  +defaultValue: "TOP"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.17 ms
Input props
[
  "label" => "Show Comment Avatars"
  "help" => "Display/hide user avatars when viewing comments on a single thread or post."
  "settingsKey" => "KBIN_COMMENTS_SHOW_USER_AVATAR"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4230
  +label: "Show Comment Avatars"
  +help: "Display/hide user avatars when viewing comments on a single thread or post."
  +settingsKey: "KBIN_COMMENTS_SHOW_USER_AVATAR"
  +defaultValue: true
  +reloadRequired: true
}
user_actions App\Twig\Components\UserActionsComponent 14.0 MiB 0.51 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1885
    +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
    +cover: null
    +email: "ugjka@lemmy.world"
    +username: "@ugjka@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "[ugjka.net](https://ugjka.net)"
    +lastActive: DateTime @1727066920 {#2097
      date: 2024-09-23 06:48:40.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
    +entries: Doctrine\ORM\PersistentCollection {#2088 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
    +posts: Doctrine\ORM\PersistentCollection {#2241 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
    +follows: Doctrine\ORM\PersistentCollection {#2109 …}
    +followers: Doctrine\ORM\PersistentCollection {#2105 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
    +reports: Doctrine\ORM\PersistentCollection {#2127 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
    +violations: Doctrine\ORM\PersistentCollection {#2297 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
    +awards: Doctrine\ORM\PersistentCollection {#2298 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
    +categories: Doctrine\ORM\PersistentCollection {#2283 …}
    -id: 74308
    -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
    +apId: "ugjka@lemmy.world"
    +apProfileId: "https://lemmy.world/u/ugjka"
    +apPublicUrl: "https://lemmy.world/u/ugjka"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "ugjka"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705448316 {#2084
      date: 2024-01-17 00:38:36.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699716147 {#2076
      date: 2023-11-11 16:22:27.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#4309
  +user: Proxies\__CG__\App\Entity\User {#1885
    +avatar: Proxies\__CG__\App\Entity\Image {#2062 …}
    +cover: null
    +email: "ugjka@lemmy.world"
    +username: "@ugjka@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "[ugjka.net](https://ugjka.net)"
    +lastActive: DateTime @1727066920 {#2097
      date: 2024-09-23 06:48:40.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2077 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2063 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2064 …}
    +entries: Doctrine\ORM\PersistentCollection {#2088 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2087 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2086 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2345 …}
    +posts: Doctrine\ORM\PersistentCollection {#2241 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2331 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2339 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2053 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2333 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2111 …}
    +follows: Doctrine\ORM\PersistentCollection {#2109 …}
    +followers: Doctrine\ORM\PersistentCollection {#2105 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2128 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2160 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2225 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2229 …}
    +reports: Doctrine\ORM\PersistentCollection {#2127 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2311 …}
    +violations: Doctrine\ORM\PersistentCollection {#2297 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2315 …}
    +awards: Doctrine\ORM\PersistentCollection {#2298 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2304 …}
    +categories: Doctrine\ORM\PersistentCollection {#2283 …}
    -id: 74308
    -password: "$2y$13$cb2BJmGMcYq7Lt.blp1Qf.h.37J2bnqmlgOeEVkBEcjYku6jXxonW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2222 …}
    +apId: "ugjka@lemmy.world"
    +apProfileId: "https://lemmy.world/u/ugjka"
    +apPublicUrl: "https://lemmy.world/u/ugjka"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "ugjka"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1705448316 {#2084
      date: 2024-01-17 00:38:36.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699716147 {#2076
      date: 2023-11-11 16:22:27.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
}
date App\Twig\Components\DateComponent 14.0 MiB 0.19 ms
Input props
[
  "date" => DateTimeImmutable @1697038564 {#102
    date: 2023-10-11 17:36:04.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4370
  +date: DateTimeImmutable @1697038564 {#102
    date: 2023-10-11 17:36:04.0 +02:00
  }
}
magazine_box App\Twig\Components\MagazineBoxComponent 14.0 MiB 8.06 ms
Input props
[
  "magazine" => App\Entity\Magazine {#316
    +icon: Proxies\__CG__\App\Entity\Image {#297 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#326
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#288 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
    +entries: Doctrine\ORM\PersistentCollection {#231 …}
    +posts: Doctrine\ORM\PersistentCollection {#189 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
    +bans: Doctrine\ORM\PersistentCollection {#168 …}
    +reports: Doctrine\ORM\PersistentCollection {#154 …}
    +badges: Doctrine\ORM\PersistentCollection {#132 …}
    +logs: Doctrine\ORM\PersistentCollection {#122 …}
    +awards: Doctrine\ORM\PersistentCollection {#111 …}
    +categories: Doctrine\ORM\PersistentCollection {#98 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#320
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#319
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#4426
  +magazine: App\Entity\Magazine {#316
    +icon: Proxies\__CG__\App\Entity\Image {#297 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#326
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#288 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
    +entries: Doctrine\ORM\PersistentCollection {#231 …}
    +posts: Doctrine\ORM\PersistentCollection {#189 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
    +bans: Doctrine\ORM\PersistentCollection {#168 …}
    +reports: Doctrine\ORM\PersistentCollection {#154 …}
    +badges: Doctrine\ORM\PersistentCollection {#132 …}
    +logs: Doctrine\ORM\PersistentCollection {#122 …}
    +awards: Doctrine\ORM\PersistentCollection {#111 …}
    +categories: Doctrine\ORM\PersistentCollection {#98 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#320
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#319
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +showCover: true
  +showDescription: true
  +showRules: true
  +showSubscribeButton: true
  +showInfo: true
  +showMeta: true
  +showSectionTitle: true
  +stretchedLink: true
}
magazine_sub App\Twig\Components\MagazineSubComponent 14.0 MiB 0.57 ms
Input props
[
  "magazine" => App\Entity\Magazine {#316
    +icon: Proxies\__CG__\App\Entity\Image {#297 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#326
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#288 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
    +entries: Doctrine\ORM\PersistentCollection {#231 …}
    +posts: Doctrine\ORM\PersistentCollection {#189 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
    +bans: Doctrine\ORM\PersistentCollection {#168 …}
    +reports: Doctrine\ORM\PersistentCollection {#154 …}
    +badges: Doctrine\ORM\PersistentCollection {#132 …}
    +logs: Doctrine\ORM\PersistentCollection {#122 …}
    +awards: Doctrine\ORM\PersistentCollection {#111 …}
    +categories: Doctrine\ORM\PersistentCollection {#98 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#320
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#319
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#4485
  +magazine: App\Entity\Magazine {#316
    +icon: Proxies\__CG__\App\Entity\Image {#297 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#326
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#288 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
    +entries: Doctrine\ORM\PersistentCollection {#231 …}
    +posts: Doctrine\ORM\PersistentCollection {#189 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
    +bans: Doctrine\ORM\PersistentCollection {#168 …}
    +reports: Doctrine\ORM\PersistentCollection {#154 …}
    +badges: Doctrine\ORM\PersistentCollection {#132 …}
    +logs: Doctrine\ORM\PersistentCollection {#122 …}
    +awards: Doctrine\ORM\PersistentCollection {#111 …}
    +categories: Doctrine\ORM\PersistentCollection {#98 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#320
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#319
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
}
date App\Twig\Components\DateComponent 14.0 MiB 0.16 ms
Input props
[
  "date" => DateTimeImmutable @1698929468 {#319
    date: 2023-11-02 13:51:08.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4659
  +date: DateTimeImmutable @1698929468 {#319
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 14.0 MiB 0.68 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#4717
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#4764
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4766 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4768 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4770 …}
    +entries: Doctrine\ORM\PersistentCollection {#4772 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4774 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4776 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4778 …}
    +posts: Doctrine\ORM\PersistentCollection {#4780 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4782 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4784 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4786 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4788 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4790 …}
    +follows: Doctrine\ORM\PersistentCollection {#4792 …}
    +followers: Doctrine\ORM\PersistentCollection {#4794 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4796 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4798 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4800 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4802 …}
    +reports: Doctrine\ORM\PersistentCollection {#4804 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4806 …}
    +violations: Doctrine\ORM\PersistentCollection {#4808 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4810 …}
    +awards: Doctrine\ORM\PersistentCollection {#4812 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4814 …}
    +categories: Doctrine\ORM\PersistentCollection {#4816 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4818 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#4765
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4735
  +user: Proxies\__CG__\App\Entity\User {#4717
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#4764
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4766 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4768 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4770 …}
    +entries: Doctrine\ORM\PersistentCollection {#4772 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4774 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4776 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4778 …}
    +posts: Doctrine\ORM\PersistentCollection {#4780 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4782 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4784 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4786 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4788 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4790 …}
    +follows: Doctrine\ORM\PersistentCollection {#4792 …}
    +followers: Doctrine\ORM\PersistentCollection {#4794 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4796 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4798 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4800 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4802 …}
    +reports: Doctrine\ORM\PersistentCollection {#4804 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4806 …}
    +violations: Doctrine\ORM\PersistentCollection {#4808 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4810 …}
    +awards: Doctrine\ORM\PersistentCollection {#4812 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4814 …}
    +categories: Doctrine\ORM\PersistentCollection {#4816 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4818 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#4765
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: true
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 14.0 MiB 8.34 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#4925
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#400 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
active_users App\Twig\Components\ActiveUsersComponent 14.0 MiB 360.27 ms
Input props
[
  "magazine" => App\Entity\Magazine {#316
    +icon: Proxies\__CG__\App\Entity\Image {#297 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#326
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#288 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
    +entries: Doctrine\ORM\PersistentCollection {#231 …}
    +posts: Doctrine\ORM\PersistentCollection {#189 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
    +bans: Doctrine\ORM\PersistentCollection {#168 …}
    +reports: Doctrine\ORM\PersistentCollection {#154 …}
    +badges: Doctrine\ORM\PersistentCollection {#132 …}
    +logs: Doctrine\ORM\PersistentCollection {#122 …}
    +awards: Doctrine\ORM\PersistentCollection {#111 …}
    +categories: Doctrine\ORM\PersistentCollection {#98 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#320
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#319
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#5055
  +magazine: App\Entity\Magazine {#316
    +icon: Proxies\__CG__\App\Entity\Image {#297 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#326
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#288 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
    +entries: Doctrine\ORM\PersistentCollection {#231 …}
    +posts: Doctrine\ORM\PersistentCollection {#189 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
    +bans: Doctrine\ORM\PersistentCollection {#168 …}
    +reports: Doctrine\ORM\PersistentCollection {#154 …}
    +badges: Doctrine\ORM\PersistentCollection {#132 …}
    +logs: Doctrine\ORM\PersistentCollection {#122 …}
    +awards: Doctrine\ORM\PersistentCollection {#111 …}
    +categories: Doctrine\ORM\PersistentCollection {#98 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#320
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#319
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -userRepository: App\Repository\UserRepository {#603 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.58 ms
Input props
[
  "user" => App\Entity\User {#5650
    +avatar: Proxies\__CG__\App\Entity\Image {#5647 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5648 …}
    +email: "Sven_Ademi@mastodon.social"
    +username: "@Sven_Ademi@mastodon.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: ""
    +lastActive: DateTime @1700505262 {#5651
      date: 2023-11-20 19:34:22.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5645 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5643 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5641 …}
    +entries: Doctrine\ORM\PersistentCollection {#5639 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5637 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5635 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5633 …}
    +posts: Doctrine\ORM\PersistentCollection {#5631 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5629 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5627 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5625 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5623 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5621 …}
    +follows: Doctrine\ORM\PersistentCollection {#5619 …}
    +followers: Doctrine\ORM\PersistentCollection {#5617 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5615 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5613 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5611 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5609 …}
    +reports: Doctrine\ORM\PersistentCollection {#5607 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5605 …}
    +violations: Doctrine\ORM\PersistentCollection {#5603 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5601 …}
    +awards: Doctrine\ORM\PersistentCollection {#5599 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5597 …}
    +categories: Doctrine\ORM\PersistentCollection {#5595 …}
    -id: 77345
    -password: "$2y$13$oW32Mk05Nmbk/oGeEtBsn.6EqG3SUbpgB.iV5uMKCy3wARCepczwK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5593 …}
    +apId: "Sven_Ademi@mastodon.social"
    +apProfileId: "https://mastodon.social/users/Sven_Ademi"
    +apPublicUrl: "https://mastodon.social/@Sven_Ademi"
    +apFollowersUrl: "https://mastodon.social/users/Sven_Ademi/followers"
    +apInboxUrl: "https://mastodon.social/inbox"
    +apDomain: "mastodon.social"
    +apPreferredUsername: "Sven_Ademi"
    +apDiscoverable: false
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1700505260 {#5652
      date: 2023-11-20 19:34:20.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700505259 {#5649
      date: 2023-11-20 19:34:19.0 +01:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#5404
  +width: 65
  +height: 65
  +user: App\Entity\User {#5650
    +avatar: Proxies\__CG__\App\Entity\Image {#5647 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5648 …}
    +email: "Sven_Ademi@mastodon.social"
    +username: "@Sven_Ademi@mastodon.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: ""
    +lastActive: DateTime @1700505262 {#5651
      date: 2023-11-20 19:34:22.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5645 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5643 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5641 …}
    +entries: Doctrine\ORM\PersistentCollection {#5639 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5637 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5635 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5633 …}
    +posts: Doctrine\ORM\PersistentCollection {#5631 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5629 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5627 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5625 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5623 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5621 …}
    +follows: Doctrine\ORM\PersistentCollection {#5619 …}
    +followers: Doctrine\ORM\PersistentCollection {#5617 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5615 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5613 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5611 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5609 …}
    +reports: Doctrine\ORM\PersistentCollection {#5607 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5605 …}
    +violations: Doctrine\ORM\PersistentCollection {#5603 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5601 …}
    +awards: Doctrine\ORM\PersistentCollection {#5599 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5597 …}
    +categories: Doctrine\ORM\PersistentCollection {#5595 …}
    -id: 77345
    -password: "$2y$13$oW32Mk05Nmbk/oGeEtBsn.6EqG3SUbpgB.iV5uMKCy3wARCepczwK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5593 …}
    +apId: "Sven_Ademi@mastodon.social"
    +apProfileId: "https://mastodon.social/users/Sven_Ademi"
    +apPublicUrl: "https://mastodon.social/@Sven_Ademi"
    +apFollowersUrl: "https://mastodon.social/users/Sven_Ademi/followers"
    +apInboxUrl: "https://mastodon.social/inbox"
    +apDomain: "mastodon.social"
    +apPreferredUsername: "Sven_Ademi"
    +apDiscoverable: false
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1700505260 {#5652
      date: 2023-11-20 19:34:20.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700505259 {#5649
      date: 2023-11-20 19:34:19.0 +01:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.36 ms
Input props
[
  "user" => App\Entity\User {#5877
    +avatar: Proxies\__CG__\App\Entity\Image {#5878 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5879 …}
    +email: "GustavoM@lemmy.world"
    +username: "@GustavoM@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Definitely Not GustavoM. :^)"
    +lastActive: DateTime @1719679748 {#5874
      date: 2024-06-29 18:49:08.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5880 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5882 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5884 …}
    +entries: Doctrine\ORM\PersistentCollection {#5886 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5888 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5890 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5892 …}
    +posts: Doctrine\ORM\PersistentCollection {#5894 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5896 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5898 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5900 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5902 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5904 …}
    +follows: Doctrine\ORM\PersistentCollection {#5906 …}
    +followers: Doctrine\ORM\PersistentCollection {#5908 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5910 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5912 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5914 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5916 …}
    +reports: Doctrine\ORM\PersistentCollection {#5918 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5920 …}
    +violations: Doctrine\ORM\PersistentCollection {#5922 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5924 …}
    +awards: Doctrine\ORM\PersistentCollection {#5926 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5928 …}
    +categories: Doctrine\ORM\PersistentCollection {#5930 …}
    -id: 55594
    -password: "$2y$13$3rtBI4j23F.4f2HFNduFZ.ylG7FHwAbghmxkem/xJ.FpSGPS6xPYO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5932 …}
    +apId: "GustavoM@lemmy.world"
    +apProfileId: "https://lemmy.world/u/GustavoM"
    +apPublicUrl: "https://lemmy.world/u/GustavoM"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "GustavoM"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727835761 {#5875
      date: 2024-10-02 04:22:41.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696981499 {#5876
      date: 2023-10-11 01:44:59.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7135
  +width: 65
  +height: 65
  +user: App\Entity\User {#5877
    +avatar: Proxies\__CG__\App\Entity\Image {#5878 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5879 …}
    +email: "GustavoM@lemmy.world"
    +username: "@GustavoM@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Definitely Not GustavoM. :^)"
    +lastActive: DateTime @1719679748 {#5874
      date: 2024-06-29 18:49:08.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5880 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5882 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5884 …}
    +entries: Doctrine\ORM\PersistentCollection {#5886 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5888 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5890 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5892 …}
    +posts: Doctrine\ORM\PersistentCollection {#5894 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5896 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5898 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5900 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5902 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5904 …}
    +follows: Doctrine\ORM\PersistentCollection {#5906 …}
    +followers: Doctrine\ORM\PersistentCollection {#5908 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5910 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5912 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5914 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5916 …}
    +reports: Doctrine\ORM\PersistentCollection {#5918 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5920 …}
    +violations: Doctrine\ORM\PersistentCollection {#5922 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5924 …}
    +awards: Doctrine\ORM\PersistentCollection {#5926 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5928 …}
    +categories: Doctrine\ORM\PersistentCollection {#5930 …}
    -id: 55594
    -password: "$2y$13$3rtBI4j23F.4f2HFNduFZ.ylG7FHwAbghmxkem/xJ.FpSGPS6xPYO"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5932 …}
    +apId: "GustavoM@lemmy.world"
    +apProfileId: "https://lemmy.world/u/GustavoM"
    +apPublicUrl: "https://lemmy.world/u/GustavoM"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "GustavoM"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727835761 {#5875
      date: 2024-10-02 04:22:41.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696981499 {#5876
      date: 2023-10-11 01:44:59.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.32 ms
Input props
[
  "user" => App\Entity\User {#5107
    +avatar: Proxies\__CG__\App\Entity\Image {#5091 …}
    +cover: null
    +email: "BolexForSoup@kbin.social"
    +username: "@BolexForSoup@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Former landed gentry."
    +lastActive: DateTime @1710609216 {#5103
      date: 2024-03-16 18:13:36.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5109 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5697 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5691 …}
    +entries: Doctrine\ORM\PersistentCollection {#5414 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5403 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5699 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5698 …}
    +posts: Doctrine\ORM\PersistentCollection {#5695 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5692 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5689 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5688 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5412 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5681 …}
    +follows: Doctrine\ORM\PersistentCollection {#5679 …}
    +followers: Doctrine\ORM\PersistentCollection {#5677 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5675 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5673 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5671 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5669 …}
    +reports: Doctrine\ORM\PersistentCollection {#5667 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5665 …}
    +violations: Doctrine\ORM\PersistentCollection {#5663 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5661 …}
    +awards: Doctrine\ORM\PersistentCollection {#5659 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5657 …}
    +categories: Doctrine\ORM\PersistentCollection {#5655 …}
    -id: 50470
    -password: "$2y$13$u9NODhFGl130tWNlf2Epw.BufdpeNhQlGH4GiXDmPl7HLMtPsNnRS"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5653 …}
    +apId: "BolexForSoup@kbin.social"
    +apProfileId: "https://kbin.social/u/BolexForSoup"
    +apPublicUrl: "https://kbin.social/u/BolexForSoup"
    +apFollowersUrl: "https://kbin.social/u/BolexForSoup/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "BolexForSoup"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711523686 {#5105
      date: 2024-03-27 08:14:46.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696513628 {#5106
      date: 2023-10-05 15:47:08.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7192
  +width: 65
  +height: 65
  +user: App\Entity\User {#5107
    +avatar: Proxies\__CG__\App\Entity\Image {#5091 …}
    +cover: null
    +email: "BolexForSoup@kbin.social"
    +username: "@BolexForSoup@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Former landed gentry."
    +lastActive: DateTime @1710609216 {#5103
      date: 2024-03-16 18:13:36.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5109 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5697 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5691 …}
    +entries: Doctrine\ORM\PersistentCollection {#5414 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5403 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5699 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5698 …}
    +posts: Doctrine\ORM\PersistentCollection {#5695 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5692 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5689 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5688 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5412 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5681 …}
    +follows: Doctrine\ORM\PersistentCollection {#5679 …}
    +followers: Doctrine\ORM\PersistentCollection {#5677 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5675 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5673 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5671 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5669 …}
    +reports: Doctrine\ORM\PersistentCollection {#5667 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5665 …}
    +violations: Doctrine\ORM\PersistentCollection {#5663 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5661 …}
    +awards: Doctrine\ORM\PersistentCollection {#5659 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5657 …}
    +categories: Doctrine\ORM\PersistentCollection {#5655 …}
    -id: 50470
    -password: "$2y$13$u9NODhFGl130tWNlf2Epw.BufdpeNhQlGH4GiXDmPl7HLMtPsNnRS"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5653 …}
    +apId: "BolexForSoup@kbin.social"
    +apProfileId: "https://kbin.social/u/BolexForSoup"
    +apPublicUrl: "https://kbin.social/u/BolexForSoup"
    +apFollowersUrl: "https://kbin.social/u/BolexForSoup/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "BolexForSoup"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711523686 {#5105
      date: 2024-03-27 08:14:46.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696513628 {#5106
      date: 2023-10-05 15:47:08.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.29 ms
Input props
[
  "user" => App\Entity\User {#5274
    +avatar: Proxies\__CG__\App\Entity\Image {#5273 …}
    +cover: null
    +email: "tsonfeir@lemm.ee"
    +username: "@tsonfeir@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "I woke up in the morning at 11:47, and I can’t believe I have to face the horror of another fucking day."
    +lastActive: DateTime @1712696669 {#5277
      date: 2024-04-09 23:04:29.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5272 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5270 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5268 …}
    +entries: Doctrine\ORM\PersistentCollection {#5266 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5264 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5262 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5260 …}
    +posts: Doctrine\ORM\PersistentCollection {#5258 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5256 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5254 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5252 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5250 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5248 …}
    +follows: Doctrine\ORM\PersistentCollection {#5246 …}
    +followers: Doctrine\ORM\PersistentCollection {#5244 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5242 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5240 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5238 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5236 …}
    +reports: Doctrine\ORM\PersistentCollection {#5234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5232 …}
    +violations: Doctrine\ORM\PersistentCollection {#5230 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5228 …}
    +awards: Doctrine\ORM\PersistentCollection {#5226 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5224 …}
    +categories: Doctrine\ORM\PersistentCollection {#5222 …}
    -id: 28864
    -password: "$2y$13$17oScd/vU6XtPBQW4IhhSuhvmW5nqvCcVmroa2TDrml94enazXM6e"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5220 …}
    +apId: "tsonfeir@lemm.ee"
    +apProfileId: "https://lemm.ee/u/tsonfeir"
    +apPublicUrl: "https://lemm.ee/u/tsonfeir"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "tsonfeir"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1709487684 {#5276
      date: 2024-03-03 18:41:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689443284 {#5275
      date: 2023-07-15 19:48:04.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7249
  +width: 65
  +height: 65
  +user: App\Entity\User {#5274
    +avatar: Proxies\__CG__\App\Entity\Image {#5273 …}
    +cover: null
    +email: "tsonfeir@lemm.ee"
    +username: "@tsonfeir@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "I woke up in the morning at 11:47, and I can’t believe I have to face the horror of another fucking day."
    +lastActive: DateTime @1712696669 {#5277
      date: 2024-04-09 23:04:29.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5272 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5270 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5268 …}
    +entries: Doctrine\ORM\PersistentCollection {#5266 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5264 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5262 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5260 …}
    +posts: Doctrine\ORM\PersistentCollection {#5258 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5256 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5254 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5252 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5250 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5248 …}
    +follows: Doctrine\ORM\PersistentCollection {#5246 …}
    +followers: Doctrine\ORM\PersistentCollection {#5244 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5242 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5240 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5238 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5236 …}
    +reports: Doctrine\ORM\PersistentCollection {#5234 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5232 …}
    +violations: Doctrine\ORM\PersistentCollection {#5230 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5228 …}
    +awards: Doctrine\ORM\PersistentCollection {#5226 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5224 …}
    +categories: Doctrine\ORM\PersistentCollection {#5222 …}
    -id: 28864
    -password: "$2y$13$17oScd/vU6XtPBQW4IhhSuhvmW5nqvCcVmroa2TDrml94enazXM6e"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5220 …}
    +apId: "tsonfeir@lemm.ee"
    +apProfileId: "https://lemm.ee/u/tsonfeir"
    +apPublicUrl: "https://lemm.ee/u/tsonfeir"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "tsonfeir"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1709487684 {#5276
      date: 2024-03-03 18:41:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689443284 {#5275
      date: 2023-07-15 19:48:04.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.29 ms
Input props
[
  "user" => App\Entity\User {#6891
    +avatar: Proxies\__CG__\App\Entity\Image {#6892 …}
    +cover: Proxies\__CG__\App\Entity\Image {#6893 …}
    +email: "s38b35M5@lemmy.world"
    +username: "@s38b35M5@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Musician, mechanic, writer, dreamer, techy, green thumb, emigrant, BP2, ADHD, Father, weirdo\n
      \n
      [www.battleforlibraries.com](https://www.battleforlibraries.com/)\n
      \n
      #DigitalRightsForLibraries
      """
    +lastActive: DateTime @1728802643 {#6888
      date: 2024-10-13 08:57:23.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6894 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6896 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6898 …}
    +entries: Doctrine\ORM\PersistentCollection {#6900 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6902 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6904 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6906 …}
    +posts: Doctrine\ORM\PersistentCollection {#6908 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6910 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6912 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6914 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6916 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6918 …}
    +follows: Doctrine\ORM\PersistentCollection {#6920 …}
    +followers: Doctrine\ORM\PersistentCollection {#6922 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6924 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6926 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6928 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6930 …}
    +reports: Doctrine\ORM\PersistentCollection {#6932 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6934 …}
    +violations: Doctrine\ORM\PersistentCollection {#6936 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6938 …}
    +awards: Doctrine\ORM\PersistentCollection {#6940 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6942 …}
    +categories: Doctrine\ORM\PersistentCollection {#6944 …}
    -id: 57749
    -password: "$2y$13$oDWs7zAIdiYjtAnG9AcoOuBrGcHze868xVmVqk0kQi/IrzSqzZ0Oi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6946 …}
    +apId: "s38b35M5@lemmy.world"
    +apProfileId: "https://lemmy.world/u/s38b35M5"
    +apPublicUrl: "https://lemmy.world/u/s38b35M5"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "s38b35M5"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729550618 {#6889
      date: 2024-10-22 00:43:38.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697205459 {#6890
      date: 2023-10-13 15:57:39.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7306
  +width: 65
  +height: 65
  +user: App\Entity\User {#6891
    +avatar: Proxies\__CG__\App\Entity\Image {#6892 …}
    +cover: Proxies\__CG__\App\Entity\Image {#6893 …}
    +email: "s38b35M5@lemmy.world"
    +username: "@s38b35M5@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Musician, mechanic, writer, dreamer, techy, green thumb, emigrant, BP2, ADHD, Father, weirdo\n
      \n
      [www.battleforlibraries.com](https://www.battleforlibraries.com/)\n
      \n
      #DigitalRightsForLibraries
      """
    +lastActive: DateTime @1728802643 {#6888
      date: 2024-10-13 08:57:23.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6894 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6896 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6898 …}
    +entries: Doctrine\ORM\PersistentCollection {#6900 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6902 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6904 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6906 …}
    +posts: Doctrine\ORM\PersistentCollection {#6908 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6910 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6912 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6914 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6916 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6918 …}
    +follows: Doctrine\ORM\PersistentCollection {#6920 …}
    +followers: Doctrine\ORM\PersistentCollection {#6922 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6924 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6926 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6928 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6930 …}
    +reports: Doctrine\ORM\PersistentCollection {#6932 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6934 …}
    +violations: Doctrine\ORM\PersistentCollection {#6936 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6938 …}
    +awards: Doctrine\ORM\PersistentCollection {#6940 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6942 …}
    +categories: Doctrine\ORM\PersistentCollection {#6944 …}
    -id: 57749
    -password: "$2y$13$oDWs7zAIdiYjtAnG9AcoOuBrGcHze868xVmVqk0kQi/IrzSqzZ0Oi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6946 …}
    +apId: "s38b35M5@lemmy.world"
    +apProfileId: "https://lemmy.world/u/s38b35M5"
    +apPublicUrl: "https://lemmy.world/u/s38b35M5"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "s38b35M5"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729550618 {#6889
      date: 2024-10-22 00:43:38.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697205459 {#6890
      date: 2023-10-13 15:57:39.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.28 ms
Input props
[
  "user" => App\Entity\User {#6592
    +avatar: Proxies\__CG__\App\Entity\Image {#6593 …}
    +cover: Proxies\__CG__\App\Entity\Image {#6594 …}
    +email: "voxel@infosec.exchange"
    +username: "@voxel@infosec.exchange"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      A [#privacy](https://infosec.exchange/tags/privacy) 🕶️ and [#cybersecurity](https://infosec.exchange/tags/cybersecurity) 🛡️ focused Voxel :p You can find here all kinds of posts related to these topics 👀 You will sometimes also find post about my opinions, thoughs or other tech related stuff. :D\n
      \n
      If you wanna get in contact with me, just ask, I'm open for meeting new people 🤍\n
      \n
      ⚠️ No enter for threads.net users! ⚠️
      """
    +lastActive: DateTime @1726427025 {#6589
      date: 2024-09-15 21:03:45.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6595 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6597 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6599 …}
    +entries: Doctrine\ORM\PersistentCollection {#6601 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6603 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6605 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6607 …}
    +posts: Doctrine\ORM\PersistentCollection {#6609 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6611 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6613 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6615 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6617 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6619 …}
    +follows: Doctrine\ORM\PersistentCollection {#6621 …}
    +followers: Doctrine\ORM\PersistentCollection {#6623 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6625 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6627 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6629 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6631 …}
    +reports: Doctrine\ORM\PersistentCollection {#6633 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6635 …}
    +violations: Doctrine\ORM\PersistentCollection {#6637 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6639 …}
    +awards: Doctrine\ORM\PersistentCollection {#6641 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6643 …}
    +categories: Doctrine\ORM\PersistentCollection {#6645 …}
    -id: 53000
    -password: "$2y$13$pd7Up6WjCEl8oqexMRyMpOiVLvCy/dNuZRfIrsmSYPg42bruvRe9W"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6647 …}
    +apId: "voxel@infosec.exchange"
    +apProfileId: "https://infosec.exchange/users/voxel"
    +apPublicUrl: "https://infosec.exchange/@voxel"
    +apFollowersUrl: "https://infosec.exchange/users/voxel/followers"
    +apInboxUrl: "https://infosec.exchange/inbox"
    +apDomain: "infosec.exchange"
    +apPreferredUsername: "voxel"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1704403416 {#6590
      date: 2024-01-04 22:23:36.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696709863 {#6591
      date: 2023-10-07 22:17:43.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7363
  +width: 65
  +height: 65
  +user: App\Entity\User {#6592
    +avatar: Proxies\__CG__\App\Entity\Image {#6593 …}
    +cover: Proxies\__CG__\App\Entity\Image {#6594 …}
    +email: "voxel@infosec.exchange"
    +username: "@voxel@infosec.exchange"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      A [#privacy](https://infosec.exchange/tags/privacy) 🕶️ and [#cybersecurity](https://infosec.exchange/tags/cybersecurity) 🛡️ focused Voxel :p You can find here all kinds of posts related to these topics 👀 You will sometimes also find post about my opinions, thoughs or other tech related stuff. :D\n
      \n
      If you wanna get in contact with me, just ask, I'm open for meeting new people 🤍\n
      \n
      ⚠️ No enter for threads.net users! ⚠️
      """
    +lastActive: DateTime @1726427025 {#6589
      date: 2024-09-15 21:03:45.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6595 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6597 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6599 …}
    +entries: Doctrine\ORM\PersistentCollection {#6601 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6603 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6605 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6607 …}
    +posts: Doctrine\ORM\PersistentCollection {#6609 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6611 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6613 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6615 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6617 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6619 …}
    +follows: Doctrine\ORM\PersistentCollection {#6621 …}
    +followers: Doctrine\ORM\PersistentCollection {#6623 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6625 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6627 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6629 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6631 …}
    +reports: Doctrine\ORM\PersistentCollection {#6633 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6635 …}
    +violations: Doctrine\ORM\PersistentCollection {#6637 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6639 …}
    +awards: Doctrine\ORM\PersistentCollection {#6641 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6643 …}
    +categories: Doctrine\ORM\PersistentCollection {#6645 …}
    -id: 53000
    -password: "$2y$13$pd7Up6WjCEl8oqexMRyMpOiVLvCy/dNuZRfIrsmSYPg42bruvRe9W"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6647 …}
    +apId: "voxel@infosec.exchange"
    +apProfileId: "https://infosec.exchange/users/voxel"
    +apPublicUrl: "https://infosec.exchange/@voxel"
    +apFollowersUrl: "https://infosec.exchange/users/voxel/followers"
    +apInboxUrl: "https://infosec.exchange/inbox"
    +apDomain: "infosec.exchange"
    +apPreferredUsername: "voxel"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1704403416 {#6590
      date: 2024-01-04 22:23:36.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696709863 {#6591
      date: 2023-10-07 22:17:43.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.40 ms
Input props
[
  "user" => App\Entity\User {#6056
    +avatar: Proxies\__CG__\App\Entity\Image {#6057 …}
    +cover: Proxies\__CG__\App\Entity\Image {#6058 …}
    +email: "shreddy_scientist@lemmy.ml"
    +username: "@shreddy_scientist@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "“I would rather have questions that can’t be answered than answers that can’t be questioned.” - Rich Feynman"
    +lastActive: DateTime @1729505448 {#6053
      date: 2024-10-21 12:10:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6059 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6063 …}
    +entries: Doctrine\ORM\PersistentCollection {#6065 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6067 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6069 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6071 …}
    +posts: Doctrine\ORM\PersistentCollection {#6073 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6075 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6077 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6079 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6081 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6083 …}
    +follows: Doctrine\ORM\PersistentCollection {#6085 …}
    +followers: Doctrine\ORM\PersistentCollection {#6087 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6089 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6091 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6093 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6095 …}
    +reports: Doctrine\ORM\PersistentCollection {#6097 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6099 …}
    +violations: Doctrine\ORM\PersistentCollection {#6101 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6103 …}
    +awards: Doctrine\ORM\PersistentCollection {#6105 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6107 …}
    +categories: Doctrine\ORM\PersistentCollection {#6109 …}
    -id: 6983
    -password: "$2y$13$4PRdzJWI4Ja4yR66YlROtOMz0ivb/GJ4BPgdGUMtiFfQU8YD2KzBa"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6111 …}
    +apId: "shreddy_scientist@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/shreddy_scientist"
    +apPublicUrl: "https://lemmy.ml/u/shreddy_scientist"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "shreddy_scientist"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729582725 {#6054
      date: 2024-10-22 09:38:45.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687450530 {#6055
      date: 2023-06-22 18:15:30.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7420
  +width: 65
  +height: 65
  +user: App\Entity\User {#6056
    +avatar: Proxies\__CG__\App\Entity\Image {#6057 …}
    +cover: Proxies\__CG__\App\Entity\Image {#6058 …}
    +email: "shreddy_scientist@lemmy.ml"
    +username: "@shreddy_scientist@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "“I would rather have questions that can’t be answered than answers that can’t be questioned.” - Rich Feynman"
    +lastActive: DateTime @1729505448 {#6053
      date: 2024-10-21 12:10:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6059 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6063 …}
    +entries: Doctrine\ORM\PersistentCollection {#6065 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6067 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6069 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6071 …}
    +posts: Doctrine\ORM\PersistentCollection {#6073 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6075 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6077 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6079 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6081 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6083 …}
    +follows: Doctrine\ORM\PersistentCollection {#6085 …}
    +followers: Doctrine\ORM\PersistentCollection {#6087 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6089 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6091 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6093 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6095 …}
    +reports: Doctrine\ORM\PersistentCollection {#6097 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6099 …}
    +violations: Doctrine\ORM\PersistentCollection {#6101 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6103 …}
    +awards: Doctrine\ORM\PersistentCollection {#6105 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6107 …}
    +categories: Doctrine\ORM\PersistentCollection {#6109 …}
    -id: 6983
    -password: "$2y$13$4PRdzJWI4Ja4yR66YlROtOMz0ivb/GJ4BPgdGUMtiFfQU8YD2KzBa"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6111 …}
    +apId: "shreddy_scientist@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/shreddy_scientist"
    +apPublicUrl: "https://lemmy.ml/u/shreddy_scientist"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "shreddy_scientist"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729582725 {#6054
      date: 2024-10-22 09:38:45.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687450530 {#6055
      date: 2023-06-22 18:15:30.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.31 ms
Input props
[
  "user" => App\Entity\User {#6951
    +avatar: Proxies\__CG__\App\Entity\Image {#6952 …}
    +cover: null
    +email: "leo@lemmy.linuxuserspace.show"
    +username: "@leo@lemmy.linuxuserspace.show"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "One half of the dudes that do the [**Linux User Space**](https://linuxuserspace.show) audio/video podcast."
    +lastActive: DateTime @1726917179 {#6948
      date: 2024-09-21 13:12:59.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6953 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6955 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6957 …}
    +entries: Doctrine\ORM\PersistentCollection {#6959 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6961 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6963 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6965 …}
    +posts: Doctrine\ORM\PersistentCollection {#6967 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6969 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6973 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6975 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6977 …}
    +follows: Doctrine\ORM\PersistentCollection {#6979 …}
    +followers: Doctrine\ORM\PersistentCollection {#6981 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6983 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6985 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6987 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6989 …}
    +reports: Doctrine\ORM\PersistentCollection {#6991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6993 …}
    +violations: Doctrine\ORM\PersistentCollection {#6995 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6997 …}
    +awards: Doctrine\ORM\PersistentCollection {#6999 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#7001 …}
    +categories: Doctrine\ORM\PersistentCollection {#7003 …}
    -id: 72648
    -password: "$2y$13$W8YhyvvVNVHZSh6lOqmhieygIfQY8gVPc2loboqaiA49bZDhTgM0e"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#7005 …}
    +apId: "leo@lemmy.linuxuserspace.show"
    +apProfileId: "https://lemmy.linuxuserspace.show/u/leo"
    +apPublicUrl: "https://lemmy.linuxuserspace.show/u/leo"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.linuxuserspace.show/inbox"
    +apDomain: "lemmy.linuxuserspace.show"
    +apPreferredUsername: "leo"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728021691 {#6949
      date: 2024-10-04 08:01:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699347479 {#6950
      date: 2023-11-07 09:57:59.0 +01:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7477
  +width: 65
  +height: 65
  +user: App\Entity\User {#6951
    +avatar: Proxies\__CG__\App\Entity\Image {#6952 …}
    +cover: null
    +email: "leo@lemmy.linuxuserspace.show"
    +username: "@leo@lemmy.linuxuserspace.show"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "One half of the dudes that do the [**Linux User Space**](https://linuxuserspace.show) audio/video podcast."
    +lastActive: DateTime @1726917179 {#6948
      date: 2024-09-21 13:12:59.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6953 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6955 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6957 …}
    +entries: Doctrine\ORM\PersistentCollection {#6959 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6961 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6963 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6965 …}
    +posts: Doctrine\ORM\PersistentCollection {#6967 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6969 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6973 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6975 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6977 …}
    +follows: Doctrine\ORM\PersistentCollection {#6979 …}
    +followers: Doctrine\ORM\PersistentCollection {#6981 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6983 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6985 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6987 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6989 …}
    +reports: Doctrine\ORM\PersistentCollection {#6991 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6993 …}
    +violations: Doctrine\ORM\PersistentCollection {#6995 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6997 …}
    +awards: Doctrine\ORM\PersistentCollection {#6999 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#7001 …}
    +categories: Doctrine\ORM\PersistentCollection {#7003 …}
    -id: 72648
    -password: "$2y$13$W8YhyvvVNVHZSh6lOqmhieygIfQY8gVPc2loboqaiA49bZDhTgM0e"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#7005 …}
    +apId: "leo@lemmy.linuxuserspace.show"
    +apProfileId: "https://lemmy.linuxuserspace.show/u/leo"
    +apPublicUrl: "https://lemmy.linuxuserspace.show/u/leo"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.linuxuserspace.show/inbox"
    +apDomain: "lemmy.linuxuserspace.show"
    +apPreferredUsername: "leo"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728021691 {#6949
      date: 2024-10-04 08:01:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699347479 {#6950
      date: 2023-11-07 09:57:59.0 +01:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.31 ms
Input props
[
  "user" => App\Entity\User {#5529
    +avatar: Proxies\__CG__\App\Entity\Image {#5530 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5527 …}
    +email: "mmstick@lemmy.world"
    +username: "@mmstick@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      I’m a System76 engineer / Pop!_OS maintainer. I’ve been a Linux user since 2007; and Rust since 2015. I’m currently working on COSMIC-related projects.\n
      \n
      - [GitHub](https://github.com/mmstick)\n
      - [Matrix](https://matrix.to/#/@mmstick:matrix.org)
      """
    +lastActive: DateTime @1729368773 {#5534
      date: 2024-10-19 22:12:53.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5528 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5526 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5524 …}
    +entries: Doctrine\ORM\PersistentCollection {#5522 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5520 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5518 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5516 …}
    +posts: Doctrine\ORM\PersistentCollection {#5514 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5512 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5510 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5508 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5506 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5504 …}
    +follows: Doctrine\ORM\PersistentCollection {#5502 …}
    +followers: Doctrine\ORM\PersistentCollection {#5500 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5498 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5496 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5494 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5492 …}
    +reports: Doctrine\ORM\PersistentCollection {#5490 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5488 …}
    +violations: Doctrine\ORM\PersistentCollection {#5486 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5484 …}
    +awards: Doctrine\ORM\PersistentCollection {#5482 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5480 …}
    +categories: Doctrine\ORM\PersistentCollection {#5478 …}
    -id: 74026
    -password: "$2y$13$0tzOHfGkn8TmN3FWcU1seu5C5MBZQpwvFmG9r2gIWIsw5gI0k2Kmi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5476 …}
    +apId: "mmstick@lemmy.world"
    +apProfileId: "https://lemmy.world/u/mmstick"
    +apPublicUrl: "https://lemmy.world/u/mmstick"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "mmstick"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721936035 {#5531
      date: 2024-07-25 21:33:55.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699662330 {#5532
      date: 2023-11-11 01:25:30.0 +01:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7534
  +width: 65
  +height: 65
  +user: App\Entity\User {#5529
    +avatar: Proxies\__CG__\App\Entity\Image {#5530 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5527 …}
    +email: "mmstick@lemmy.world"
    +username: "@mmstick@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      I’m a System76 engineer / Pop!_OS maintainer. I’ve been a Linux user since 2007; and Rust since 2015. I’m currently working on COSMIC-related projects.\n
      \n
      - [GitHub](https://github.com/mmstick)\n
      - [Matrix](https://matrix.to/#/@mmstick:matrix.org)
      """
    +lastActive: DateTime @1729368773 {#5534
      date: 2024-10-19 22:12:53.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5528 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5526 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5524 …}
    +entries: Doctrine\ORM\PersistentCollection {#5522 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5520 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5518 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5516 …}
    +posts: Doctrine\ORM\PersistentCollection {#5514 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5512 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5510 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5508 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5506 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5504 …}
    +follows: Doctrine\ORM\PersistentCollection {#5502 …}
    +followers: Doctrine\ORM\PersistentCollection {#5500 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5498 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5496 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5494 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5492 …}
    +reports: Doctrine\ORM\PersistentCollection {#5490 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5488 …}
    +violations: Doctrine\ORM\PersistentCollection {#5486 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5484 …}
    +awards: Doctrine\ORM\PersistentCollection {#5482 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5480 …}
    +categories: Doctrine\ORM\PersistentCollection {#5478 …}
    -id: 74026
    -password: "$2y$13$0tzOHfGkn8TmN3FWcU1seu5C5MBZQpwvFmG9r2gIWIsw5gI0k2Kmi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5476 …}
    +apId: "mmstick@lemmy.world"
    +apProfileId: "https://lemmy.world/u/mmstick"
    +apPublicUrl: "https://lemmy.world/u/mmstick"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "mmstick"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1721936035 {#5531
      date: 2024-07-25 21:33:55.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1699662330 {#5532
      date: 2023-11-11 01:25:30.0 +01:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.28 ms
Input props
[
  "user" => App\Entity\User {#5408
    +avatar: Proxies\__CG__\App\Entity\Image {#5406 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5405 …}
    +email: "krolden@lemmy.ml"
    +username: "@krolden@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Anyone that claims to speak on behalf of the universe is either a liar or a fool"
    +lastActive: DateTime @1728630272 {#5413
      date: 2024-10-11 09:04:32.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5702 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5704 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5706 …}
    +entries: Doctrine\ORM\PersistentCollection {#5708 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5710 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5712 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5714 …}
    +posts: Doctrine\ORM\PersistentCollection {#5716 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5718 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5720 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5722 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5724 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5726 …}
    +follows: Doctrine\ORM\PersistentCollection {#5728 …}
    +followers: Doctrine\ORM\PersistentCollection {#5730 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5732 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5734 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5736 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5738 …}
    +reports: Doctrine\ORM\PersistentCollection {#5740 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5742 …}
    +violations: Doctrine\ORM\PersistentCollection {#5744 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5746 …}
    +awards: Doctrine\ORM\PersistentCollection {#5748 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5750 …}
    +categories: Doctrine\ORM\PersistentCollection {#5752 …}
    -id: 2199
    -password: "$2y$13$yB9zT3vQcs44fjXUm3hfc.GkQzpHH30ETjG2cY6bfj2ZtE/I444o."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5754 …}
    +apId: "krolden@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/krolden"
    +apPublicUrl: "https://lemmy.ml/u/krolden"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "krolden"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728257841 {#5410
      date: 2024-10-07 01:37:21.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687018867 {#5409
      date: 2023-06-17 18:21:07.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7591
  +width: 65
  +height: 65
  +user: App\Entity\User {#5408
    +avatar: Proxies\__CG__\App\Entity\Image {#5406 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5405 …}
    +email: "krolden@lemmy.ml"
    +username: "@krolden@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Anyone that claims to speak on behalf of the universe is either a liar or a fool"
    +lastActive: DateTime @1728630272 {#5413
      date: 2024-10-11 09:04:32.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5702 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5704 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5706 …}
    +entries: Doctrine\ORM\PersistentCollection {#5708 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5710 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5712 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5714 …}
    +posts: Doctrine\ORM\PersistentCollection {#5716 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5718 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5720 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5722 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5724 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5726 …}
    +follows: Doctrine\ORM\PersistentCollection {#5728 …}
    +followers: Doctrine\ORM\PersistentCollection {#5730 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5732 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5734 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5736 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5738 …}
    +reports: Doctrine\ORM\PersistentCollection {#5740 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5742 …}
    +violations: Doctrine\ORM\PersistentCollection {#5744 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5746 …}
    +awards: Doctrine\ORM\PersistentCollection {#5748 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5750 …}
    +categories: Doctrine\ORM\PersistentCollection {#5752 …}
    -id: 2199
    -password: "$2y$13$yB9zT3vQcs44fjXUm3hfc.GkQzpHH30ETjG2cY6bfj2ZtE/I444o."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5754 …}
    +apId: "krolden@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/krolden"
    +apPublicUrl: "https://lemmy.ml/u/krolden"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "krolden"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728257841 {#5410
      date: 2024-10-07 01:37:21.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687018867 {#5409
      date: 2023-06-17 18:21:07.0 +02:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.32 ms
Input props
[
  "user" => App\Entity\User {#5155
    +avatar: Proxies\__CG__\App\Entity\Image {#5154 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5153 …}
    +email: "nirogu@vivaldi.net"
    +username: "@nirogu@vivaldi.net"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Computer scientist and mathematician"
    +lastActive: DateTime @1699068917 {#5158
      date: 2023-11-04 04:35:17.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5152 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5150 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5148 …}
    +entries: Doctrine\ORM\PersistentCollection {#5146 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5144 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5142 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5140 …}
    +posts: Doctrine\ORM\PersistentCollection {#5138 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5136 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5134 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5132 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5130 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5128 …}
    +follows: Doctrine\ORM\PersistentCollection {#5126 …}
    +followers: Doctrine\ORM\PersistentCollection {#5124 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5072 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5074 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5079 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5081 …}
    +reports: Doctrine\ORM\PersistentCollection {#5078 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5088 …}
    +violations: Doctrine\ORM\PersistentCollection {#5089 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5090 …}
    +awards: Doctrine\ORM\PersistentCollection {#5093 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5096 …}
    +categories: Doctrine\ORM\PersistentCollection {#5098 …}
    -id: 70073
    -password: "$2y$13$C1DT6S10TZZ./6K0EsRjZ.jhHPsEwGqMD5M4Wcn16606GKlv31Sa."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5101 …}
    +apId: "nirogu@vivaldi.net"
    +apProfileId: "https://social.vivaldi.net/users/nirogu"
    +apPublicUrl: "https://social.vivaldi.net/@nirogu"
    +apFollowersUrl: "https://social.vivaldi.net/users/nirogu/followers"
    +apInboxUrl: "https://social.vivaldi.net/inbox"
    +apDomain: "social.vivaldi.net"
    +apPreferredUsername: "nirogu"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699068917 {#5157
      date: 2023-11-04 04:35:17.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698950674 {#5156
      date: 2023-11-02 19:44:34.0 +01:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7648
  +width: 65
  +height: 65
  +user: App\Entity\User {#5155
    +avatar: Proxies\__CG__\App\Entity\Image {#5154 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5153 …}
    +email: "nirogu@vivaldi.net"
    +username: "@nirogu@vivaldi.net"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Computer scientist and mathematician"
    +lastActive: DateTime @1699068917 {#5158
      date: 2023-11-04 04:35:17.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5152 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5150 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5148 …}
    +entries: Doctrine\ORM\PersistentCollection {#5146 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5144 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5142 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5140 …}
    +posts: Doctrine\ORM\PersistentCollection {#5138 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5136 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5134 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5132 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5130 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5128 …}
    +follows: Doctrine\ORM\PersistentCollection {#5126 …}
    +followers: Doctrine\ORM\PersistentCollection {#5124 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5072 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5074 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5079 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5081 …}
    +reports: Doctrine\ORM\PersistentCollection {#5078 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5088 …}
    +violations: Doctrine\ORM\PersistentCollection {#5089 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5090 …}
    +awards: Doctrine\ORM\PersistentCollection {#5093 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5096 …}
    +categories: Doctrine\ORM\PersistentCollection {#5098 …}
    -id: 70073
    -password: "$2y$13$C1DT6S10TZZ./6K0EsRjZ.jhHPsEwGqMD5M4Wcn16606GKlv31Sa."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5101 …}
    +apId: "nirogu@vivaldi.net"
    +apProfileId: "https://social.vivaldi.net/users/nirogu"
    +apPublicUrl: "https://social.vivaldi.net/@nirogu"
    +apFollowersUrl: "https://social.vivaldi.net/users/nirogu/followers"
    +apInboxUrl: "https://social.vivaldi.net/inbox"
    +apDomain: "social.vivaldi.net"
    +apPreferredUsername: "nirogu"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1699068917 {#5157
      date: 2023-11-04 04:35:17.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698950674 {#5156
      date: 2023-11-02 19:44:34.0 +01:00
    }
  }
  +asLink: true
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.28 ms
Input props
[
  "user" => App\Entity\User {#5996
    +avatar: Proxies\__CG__\App\Entity\Image {#5997 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5998 …}
    +email: "Rustmilian@lemmy.world"
    +username: "@Rustmilian@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Dyslexic [Privacy](/c/privacy@lemmy.ml) &amp; [Foss](/c/foss@lemmy.world) advocate, and [Linux](/c/Linux@lemmy.ml) user.   \n
      ![](https://i.postimg.cc/BbbYLqbm/b7f.jpg)   \n
      Ace 🖤🩶🤍💜\n
      \n
      [~Anti~ ~Commercial-AI~ ~license~ ~(CC~ ~BY-NC-SA~ ~4.0)~](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.en)
      """
    +lastActive: DateTime @1729266600 {#5993
      date: 2024-10-18 17:50:00.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5999 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6001 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6003 …}
    +entries: Doctrine\ORM\PersistentCollection {#6005 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6007 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6009 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6011 …}
    +posts: Doctrine\ORM\PersistentCollection {#6013 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6015 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6017 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6019 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6021 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6023 …}
    +follows: Doctrine\ORM\PersistentCollection {#6025 …}
    +followers: Doctrine\ORM\PersistentCollection {#6027 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6029 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6031 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6033 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6035 …}
    +reports: Doctrine\ORM\PersistentCollection {#6037 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6039 …}
    +violations: Doctrine\ORM\PersistentCollection {#6041 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6043 …}
    +awards: Doctrine\ORM\PersistentCollection {#6045 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6047 …}
    +categories: Doctrine\ORM\PersistentCollection {#6049 …}
    -id: 49449
    -password: "$2y$13$4Jzy1Ci4G3kZwOVlOI2yNe0zT/RQdD2nPaBErp9ymyRaMLSjJEI8."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6051 …}
    +apId: "Rustmilian@lemmy.world"
    +apProfileId: "https://lemmy.world/u/Rustmilian"
    +apPublicUrl: "https://lemmy.world/u/Rustmilian"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "Rustmilian"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729552448 {#5994
      date: 2024-10-22 01:14:08.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696458048 {#5995
      date: 2023-10-05 00:20:48.0 +02:00
    }
  }
  "width" => 65
  "height" => 65
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7705
  +width: 65
  +height: 65
  +user: App\Entity\User {#5996
    +avatar: Proxies\__CG__\App\Entity\Image {#5997 …}
    +cover: Proxies\__CG__\App\Entity\Image {#5998 …}
    +email: "Rustmilian@lemmy.world"
    +username: "@Rustmilian@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Dyslexic [Privacy](/c/privacy@lemmy.ml) &amp; [Foss](/c/foss@lemmy.world) advocate, and [Linux](/c/Linux@lemmy.ml) user.   \n
      ![](https://i.postimg.cc/BbbYLqbm/b7f.jpg)   \n
      Ace 🖤🩶🤍💜\n
      \n
      [~Anti~ ~Commercial-AI~ ~license~ ~(CC~ ~BY-NC-SA~ ~4.0)~](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.en)
      """
    +lastActive: DateTime @1729266600 {#5993
      date: 2024-10-18 17:50:00.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5999 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6001 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6003 …}
    +entries: Doctrine\ORM\PersistentCollection {#6005 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6007 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6009 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6011 …}
    +posts: Doctrine\ORM\PersistentCollection {#6013 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6015 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6017 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6019 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6021 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6023 …}
    +follows: Doctrine\ORM\PersistentCollection {#6025 …}
    +followers: Doctrine\ORM\PersistentCollection {#6027 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6029 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6031 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6033 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6035 …}
    +reports: Doctrine\ORM\PersistentCollection {#6037 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6039 …}
    +violations: Doctrine\ORM\PersistentCollection {#6041 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6043 …}
    +awards: Doctrine\ORM\PersistentCollection {#6045 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6047 …}
    +categories: Doctrine\ORM\PersistentCollection {#6049 …}
    -id: 49449
    -password: "$2y$13$4Jzy1Ci4G3kZwOVlOI2yNe0zT/RQdD2nPaBErp9ymyRaMLSjJEI8."
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6051 …}
    +apId: "Rustmilian@lemmy.world"
    +apProfileId: "https://lemmy.world/u/Rustmilian"
    +apPublicUrl: "https://lemmy.world/u/Rustmilian"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "Rustmilian"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729552448 {#5994
      date: 2024-10-22 01:14:08.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696458048 {#5995
      date: 2023-10-05 00:20:48.0 +02:00
    }
  }
  +asLink: true
}
related_categories App\Twig\Components\RelatedCategoriesComponent 14.0 MiB 8.91 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#7767
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#7768 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_posts App\Twig\Components\RelatedPostsComponent 14.0 MiB 1.69 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#7844
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#7845 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#2075 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 14.0 MiB 1.49 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#7917
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#325 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#2075 …}
}
support_us_block App\Twig\Components\SupportUsBlock 14.0 MiB 0.20 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#7986
  +subject: ? App\Entity\Contracts\VotableInterface
  +url: ? string
  -twig: Twig\Environment {#1252 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -partnerBlockRepository: App\Repository\PartnerBlockRepository {#7987 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 14.0 MiB 0.78 ms
Input props
[
  "magazine" => App\Entity\Magazine {#316
    +icon: Proxies\__CG__\App\Entity\Image {#297 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#326
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#288 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
    +entries: Doctrine\ORM\PersistentCollection {#231 …}
    +posts: Doctrine\ORM\PersistentCollection {#189 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
    +bans: Doctrine\ORM\PersistentCollection {#168 …}
    +reports: Doctrine\ORM\PersistentCollection {#154 …}
    +badges: Doctrine\ORM\PersistentCollection {#132 …}
    +logs: Doctrine\ORM\PersistentCollection {#122 …}
    +awards: Doctrine\ORM\PersistentCollection {#111 …}
    +categories: Doctrine\ORM\PersistentCollection {#98 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#320
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#319
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#8079
  +magazine: App\Entity\Magazine {#316
    +icon: Proxies\__CG__\App\Entity\Image {#297 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#326
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#288 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#284 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#273 …}
    +entries: Doctrine\ORM\PersistentCollection {#231 …}
    +posts: Doctrine\ORM\PersistentCollection {#189 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#251 …}
    +bans: Doctrine\ORM\PersistentCollection {#168 …}
    +reports: Doctrine\ORM\PersistentCollection {#154 …}
    +badges: Doctrine\ORM\PersistentCollection {#132 …}
    +logs: Doctrine\ORM\PersistentCollection {#122 …}
    +awards: Doctrine\ORM\PersistentCollection {#111 …}
    +categories: Doctrine\ORM\PersistentCollection {#98 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#320
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#319
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#400 …}
}