René's URL Explorer Experiment


Title: vfs: avoid recursive readdir symlink cycles by mcollina · Pull Request #64168 · nodejs/node · GitHub

Open Graph Title: vfs: avoid recursive readdir symlink cycles by mcollina · Pull Request #64168 · nodejs/node

X Title: vfs: avoid recursive readdir symlink cycles by mcollina · Pull Request #64168 · nodejs/node

Description: Node.js JavaScript runtime ✨🐢🚀✨. Contribute to nodejs/node development by creating an account on GitHub.

Open Graph Description: Fixes: #64148 MemoryProvider recursive readdir follows symlinked directories, but circular symlinks could recurse until the stack overflowed. This tracks the active traversal path so cycles are ski...

X Description: Fixes: #64148 MemoryProvider recursive readdir follows symlinked directories, but circular symlinks could recurse until the stack overflowed. This tracks the active traversal path so cycles are ski...

Opengraph URL: https://github.com/nodejs/node/pull/64168

X: @github

direct link

Domain: github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:0889523e-895f-e087-ffe8-3e366e7a24aa
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id8CC8:7B9AE:1543105:1D60985:6A4DEDB0
html-safe-nonce2c1257e37e9d23553ea7722fb7d9e1414bf62c4899c9b698860f107149e4ce1b
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4Q0M4OjdCOUFFOjE1NDMxMDU6MUQ2MDk4NTo2QTRERURCMCIsInZpc2l0b3JfaWQiOiI2OTA0NTY2MDA2Mzc2NDI2OTI4IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac9a48c9472d5a9c183d4c10ca570815f60fb6aa773c66b8ee00220057e3f02296
hovercard-subject-tagpull_request:3947368542
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/nodejs/node/64168/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/2d84891fcd37b1888ea4f9ab60eaa8cc369b3de98d5c7eec7d20ca7393d6eaef/nodejs/node/pull/64168
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/2d84891fcd37b1888ea4f9ab60eaa8cc369b3de98d5c7eec7d20ca7393d6eaef/nodejs/node/pull/64168
og:image:altFixes: #64148 MemoryProvider recursive readdir follows symlinked directories, but circular symlinks could recurse until the stack overflowed. This tracks the active traversal path so cycles are ski...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamemcollina
hostnamegithub.com
expected-hostnamegithub.com
None06b8a6144231bf3a234f1c2e9993861e07ce98a905912b114aa386c2d7e84b33
turbo-cache-controlno-cache
go-importgithub.com/nodejs/node git https://github.com/nodejs/node.git
octolytics-dimension-user_id9950313
octolytics-dimension-user_loginnodejs
octolytics-dimension-repository_id27193779
octolytics-dimension-repository_nwonodejs/node
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id27193779
octolytics-dimension-repository_network_root_nwonodejs/node
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release1d344bdb7547fe6bca17a59bb2b8aac3dc9532a0
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/nodejs/node/pull/64168#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F64168
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F64168
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=nodejs%2Fnode
Reloadhttps://github.com/nodejs/node/pull/64168
Reloadhttps://github.com/nodejs/node/pull/64168
Reloadhttps://github.com/nodejs/node/pull/64168
Please reload this pagehttps://github.com/nodejs/node/pull/64168
nodejs https://github.com/nodejs
nodehttps://github.com/nodejs/node
Please reload this pagehttps://github.com/nodejs/node/pull/64168
Notifications https://github.com/login?return_to=%2Fnodejs%2Fnode
Fork 36k https://github.com/login?return_to=%2Fnodejs%2Fnode
Star 118k https://github.com/login?return_to=%2Fnodejs%2Fnode
Code https://github.com/nodejs/node
Issues 1.4k https://github.com/nodejs/node/issues
Pull requests 963 https://github.com/nodejs/node/pulls
Actions https://github.com/nodejs/node/actions
Projects https://github.com/nodejs/node/projects
Security and quality 0 https://github.com/nodejs/node/security
Insights https://github.com/nodejs/node/pulse
Code https://github.com/nodejs/node
Issues https://github.com/nodejs/node/issues
Pull requests https://github.com/nodejs/node/pulls
Actions https://github.com/nodejs/node/actions
Projects https://github.com/nodejs/node/projects
Security and quality https://github.com/nodejs/node/security
Insights https://github.com/nodejs/node/pulse
nodejs-github-bothttps://github.com/nodejs-github-bot
nodejs:mainhttps://github.com/nodejs/node/tree/main
mcollina:fix-vfs-readdir-symlink-cyclehttps://github.com/mcollina/node/tree/fix-vfs-readdir-symlink-cycle
Conversationhttps://github.com/nodejs/node/pull/64168
Commits1 (1)https://github.com/nodejs/node/pull/64168/commits
Checkshttps://github.com/nodejs/node/pull/64168/checks
Files changedhttps://github.com/nodejs/node/pull/64168/files
vfs: avoid recursive readdir symlink cycleshttps://github.com/nodejs/node/pull/64168#top
nodejs-github-bothttps://github.com/nodejs-github-bot
nodejs:mainhttps://github.com/nodejs/node/tree/main
mcollina:fix-vfs-readdir-symlink-cyclehttps://github.com/mcollina/node/tree/fix-vfs-readdir-symlink-cycle
https://github.com/mcollina
mcollinahttps://github.com/mcollina
Jun 27, 2026https://github.com/nodejs/node/pull/64168#issue-4758022769
Please reload this pagehttps://github.com/nodejs/node/pull/64168
#64148https://github.com/nodejs/node/issues/64148
Please reload this pagehttps://github.com/nodejs/node/pull/64168
https://github.com/mcollina
mcollinahttps://github.com/mcollina
vfs https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Avfs
Jun 27, 2026https://github.com/nodejs/node/pull/64168#event-27278292221
https://github.com/nodejs-github-bot
nodejs-github-bothttps://github.com/nodejs-github-bot
needs-ci https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Aneeds-ci
Jun 27, 2026https://github.com/nodejs/node/pull/64168#event-27278292359
https://github.com/jasnell
jasnellhttps://github.com/jasnell
Jun 27, 2026 https://github.com/nodejs/node/pull/64168#pullrequestreview-4585307208
View reviewed changes https://github.com/nodejs/node/pull/64168/files
jasnellhttps://github.com/jasnell
https://github.com/nodejs/node/pull/64168#pullrequestreview-4585307208
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/nodejs/node/pull/64168
https://github.com/mcollina
vfs: avoid recursive readdir symlink cycleshttps://github.com/nodejs/node/pull/64168/commits/a918cd8de886d75205153bcca4a324f822936d84
a918cd8https://github.com/nodejs/node/pull/64168/commits/a918cd8de886d75205153bcca4a324f822936d84
nodejs#64148https://github.com/nodejs/node/issues/64148
https://github.com/mcollina
mcollinahttps://github.com/mcollina
force-pushedhttps://github.com/nodejs/node/compare/a6d70da743a014e0820fde3b9c46ae965c8c6ded..a918cd8de886d75205153bcca4a324f822936d84
a6d70dahttps://github.com/nodejs/node/commit/a6d70da743a014e0820fde3b9c46ae965c8c6ded
a918cd8https://github.com/nodejs/node/commit/a918cd8de886d75205153bcca4a324f822936d84
Compare https://github.com/nodejs/node/compare/a6d70da743a014e0820fde3b9c46ae965c8c6ded..a918cd8de886d75205153bcca4a324f822936d84
June 27, 2026 16:03https://github.com/nodejs/node/pull/64168#event-27283123376
https://github.com/ShogunPanda
ShogunPandahttps://github.com/ShogunPanda
Jun 28, 2026 https://github.com/nodejs/node/pull/64168#pullrequestreview-4587459068
View reviewed changes https://github.com/nodejs/node/pull/64168/files/a918cd8de886d75205153bcca4a324f822936d84
https://github.com/gurgunday
gurgundayhttps://github.com/gurgunday
Jun 28, 2026 https://github.com/nodejs/node/pull/64168#pullrequestreview-4587462283
View reviewed changes https://github.com/nodejs/node/pull/64168/files/a918cd8de886d75205153bcca4a324f822936d84
gurgundayhttps://github.com/gurgunday
https://github.com/nodejs/node/pull/64168#pullrequestreview-4587462283
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/nodejs/node/pull/64168
https://github.com/gurgunday
gurgundayhttps://github.com/gurgunday
author ready https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22author%20ready%22
request-ci https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Arequest-ci
Jun 28, 2026https://github.com/nodejs/node/pull/64168#event-27297925728
https://github.com/apps/github-actions
github-actionshttps://github.com/apps/github-actions
request-ci https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Arequest-ci
Jun 28, 2026https://github.com/nodejs/node/pull/64168#event-27298086576
https://github.com/nodejs-github-bot
nodejs-github-bothttps://github.com/nodejs-github-bot
Jun 28, 2026https://github.com/nodejs/node/pull/64168#issuecomment-4825997097
https://ci.nodejs.org/job/node-test-pull-request/74434/https://ci.nodejs.org/job/node-test-pull-request/74434/
Please reload this pagehttps://github.com/nodejs/node/pull/64168
https://github.com/nodejs-github-bot
nodejs-github-bothttps://github.com/nodejs-github-bot
Jun 29, 2026https://github.com/nodejs/node/pull/64168#issuecomment-4835314114
https://ci.nodejs.org/job/node-test-pull-request/74443/https://ci.nodejs.org/job/node-test-pull-request/74443/
Please reload this pagehttps://github.com/nodejs/node/pull/64168
https://github.com/nodejs-github-bot
nodejs-github-bothttps://github.com/nodejs-github-bot
Jun 30, 2026https://github.com/nodejs/node/pull/64168#issuecomment-4840161084
https://ci.nodejs.org/job/node-test-pull-request/74444/https://ci.nodejs.org/job/node-test-pull-request/74444/
Please reload this pagehttps://github.com/nodejs/node/pull/64168
https://github.com/mcollina
mcollinahttps://github.com/mcollina
commit-queue https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Acommit-queue
needs-ci https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Aneeds-ci
Jun 30, 2026https://github.com/nodejs/node/pull/64168#event-27371883439
https://github.com/nodejs-github-bot
nodejs-github-bothttps://github.com/nodejs-github-bot
commit-queue https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Acommit-queue
Jun 30, 2026https://github.com/nodejs/node/pull/64168#event-27372147125
https://github.com/nodejs-github-bot
nodejs-github-bothttps://github.com/nodejs-github-bot
ea60060https://github.com/nodejs/node/commit/ea60060617d89b0af5eea55b7eea74958846ea45
Jun 30, 2026https://github.com/nodejs/node/pull/64168#event-27372262320
Please reload this pagehttps://github.com/nodejs/node/pull/64168
https://github.com/nodejs-github-bot
nodejs-github-bothttps://github.com/nodejs-github-bot
Jun 30, 2026https://github.com/nodejs/node/pull/64168#issuecomment-4842214730
ea60060https://github.com/nodejs/node/commit/ea60060617d89b0af5eea55b7eea74958846ea45
Please reload this pagehttps://github.com/nodejs/node/pull/64168
https://github.com/apps/github-actions
github-actionshttps://github.com/apps/github-actions
Jun 30, 2026 https://github.com/nodejs/node/pull/64168#ref-issue-4775948918
[Vulnerability] nodejs/node: Denial of Service (Stack Overflow via Infinite Recursion) spaceraccoon/vulnerability-spoiler-alert#299 https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/299
alexfernandezhttps://github.com/alexfernandez
Jul 1, 2026 https://github.com/nodejs/node/pull/64168#ref-commit-68e0a1a
https://github.com/mcollina
https://github.com/alexfernandez
vfs: avoid recursive readdir symlink cycleshttps://github.com/alexfernandez/node/commit/68e0a1afb83647da027eb11027e204656d49b7c2
68e0a1ahttps://github.com/alexfernandez/node/commit/68e0a1afb83647da027eb11027e204656d49b7c2
nodejs#64148https://github.com/nodejs/node/issues/64148
nodejs#64168https://github.com/nodejs/node/pull/64168
richardlauhttps://github.com/richardlau
Jul 3, 2026 https://github.com/nodejs/node/pull/64168#ref-commit-9395d20
https://github.com/mcollina
https://github.com/richardlau
vfs: avoid recursive readdir symlink cycleshttps://github.com/nodejs/node/commit/9395d209c7c5e6b3008e2d12cf727b77b5099e69
9395d20https://github.com/nodejs/node/commit/9395d209c7c5e6b3008e2d12cf727b77b5099e69
#64148https://github.com/nodejs/node/issues/64148
#64168https://github.com/nodejs/node/pull/64168
https://github.com/AkshatOP
AkshatOPhttps://github.com/AkshatOP
Jul 5, 2026 https://github.com/nodejs/node/pull/64168#ref-pullrequest-4752066254
vfs: prevent stack overflow in recursive readdir on circular symlinks #64149 https://github.com/nodejs/node/pull/64149
AkshatOPhttps://github.com/AkshatOP
Jul 5, 2026 https://github.com/nodejs/node/pull/64168#ref-commit-56ef7a4
https://github.com/AkshatOP
vfs: make recursive readdir iterativehttps://github.com/AkshatOP/node/commit/56ef7a44eeb6548dda29f1199be702c3767cf1e0
56ef7a4https://github.com/AkshatOP/node/commit/56ef7a44eeb6548dda29f1199be702c3767cf1e0
nodejs#64168https://github.com/nodejs/node/pull/64168
https://github.com/apps/github-actions
github-actionshttps://github.com/apps/github-actions
Jul 6, 2026 https://github.com/nodejs/node/pull/64168#ref-pullrequest-4821345296
2026-07-08, Version 26.5.0 (Current) #64329 https://github.com/nodejs/node/pull/64329
https://github.co/hiddenchars
https://github.com/nodejs/node/pull/{{ revealButtonHref }}
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F64168
https://github.com/ShogunPanda
ShogunPanda https://github.com/ShogunPanda
https://github.com/nodejs/node/pull/64168/files/a918cd8de886d75205153bcca4a324f822936d84
https://github.com/jasnell
jasnell https://github.com/jasnell
https://github.com/nodejs/node/pull/64168/files/a6d70da743a014e0820fde3b9c46ae965c8c6ded
https://github.com/gurgunday
gurgunday https://github.com/gurgunday
https://github.com/nodejs/node/pull/64168/files/a918cd8de886d75205153bcca4a324f822936d84
author ready https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22author%20ready%22
vfs https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Avfs
node:vfs MemoryProvider: readdirSync({recursive:true}) crashes via circular symlinks (stack overflow) https://github.com/nodejs/node/issues/64148
Please reload this pagehttps://github.com/nodejs/node/pull/64168
https://github.com/mcollina
https://github.com/nodejs-github-bot
https://github.com/ShogunPanda
https://github.com/jasnell
https://github.com/gurgunday
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.