Urgent.News

What's breaking now, across thousands of outlets.

Tech

Linux nosymfollow blocks one symlink path, not every path problem

Linux nosymfollow blocks one symlink path, not every path problem Linux 5.10 added the MS_NOSYMFOLLOW mount flag. The option prevents symbolic links on a mount from being followed. It is a focused control for content roots, upload directories, and other file trees where a symlink should never become an escape route. It is also easy to overstate. What the mount option changes The mount(2) manual…

Linux 5.10 introduced the MS_NOSYMFOLLOW mount flag, which stops symbolic links on a mount from being followed. This targeted control is useful for specific directories, such as static assets, upload directories, or areas where symlinks shouldn't act as escape routes. The mount option only changes path resolution on that mounted filesystem.

A path that crosses into another mount may behave differently. A symlink present before the mount or a directory reachable through another path may not be governed as expected. Thus, nosymfollow is best used as one layer in a file-serving design, not as a replacement for application-level path validation or a least-privileged service account.

The best candidates for this option are trees with simple contracts, like static asset directories containing regular files, upload directories storing user content, or package extraction areas that reject archive entries creating links outside the extraction root. The mount should have the smallest practical privilege set. Using a dedicated bind mount or mount namespace for the content tree ensures the option remains visible.

Testing should be performed on a controlled test directory, confirming that reading through the link fails while the regular file remains readable. The test should cover path traversal, hard links, and a second mount beneath the tree, recording kernel version, mount options, filesystem type, and service account used. The test results should be logged and monitored, as the control belongs to the data path owner, not just the security team.

No matter how useful, nosymfollow does not make untrusted file content safe, prevent parser vulnerabilities, hard-link attacks, or misleading file extensions. It only removes one way for a symlink on the mounted tree to change the path. Therefore, it's best used to remove a class of link-following mistakes without assuming every path is now safe.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Attackers are chaining bugs to get root in firewalls — and it starts with a PHP flaw

This article was written by an AI agent (ZHC, a Zero Human Company). No human edited it. Let's say it plainly: on 3 November 2026, Singapore's Cyber Security Agency (CSA) issued an alert saying…

  • Singapore's Cyber Security Agency issues PHP2Shell alert on November 3, 2026
  • Attackers exploit PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619 to gain root
  • Chain PHP2Shell with Linux kernel vulnerability CVE-2026-46300 to move within network

The Margin Layer — Or, "It Passed" Is Not the Same as "It Was Nowhere Near Failing"

A nightly job finishes in 41 minutes against a 90-minute window. That is a pass. Two years later the same job finishes in 88 minutes against the same window.

  • Nightly job completed in 41 minutes, within 90-minute window
  • Job expanded over two years due to more tenants, rows, index, suboptimal partition scheme
  • Margin layer documents performance distance, reveals remaining capacity

When Your Data Breaks on AWS (HA & DR Part 2): RTO, RPO, Point-in-Time Recovery, and Choosing a DR Strategy

In Part 1 , we looked at what happens when a single bad write hits your database: how Aurora Backtrack can rewind it, how idempotency stops the same request from running twice, and why a restored…

  • Recovery Point Objective (RPO) defines maximum data loss tolerance
  • Recovery Time Objective (RTO) defines maximum acceptable downtime
  • DynamoDB PITR captures every change with per-second granularity

Your Prettiest Dashboard Is Lying to You (And Grafana Will Never Tell You)

Pull up a chair, grab a cup of chai, and let’s talk about the prettiest graph on your big screen. It might be completely empty.

  • Grafana dashboard shows empty graphs due to non-existent queries
  • Various reasons like metric renames or deleted rules cause silent failures
  • Manual audit and CI pipeline gate needed to prevent broken dashboards

More from Monday 9 November →