Skip to content

v0.26.5

Choose a tag to compare

@magifd2 magifd2 released this 21 Sep 01:33
· 35 commits to main since this release

Security

  • A symlink planted at <work_dir>/<workspace_id> no longer redirects the
    whole workspace.
    os.Root confines operations inside a root but resolves
    the root path itself normally, so if anything else with write access to your
    work directory (another tool, sandboxed code) left a link at the workspace's
    name, every read and write anchored on the link's target: images were written
    outside the directory you named and the call reported success. The workspace
    directory is now created through an os.Root on work_dir and then verified
    by real path; a workspace whose name resolves elsewhere is refused with
    path_not_allowed, naming the id and what it resolved to.
  • A symlink planted at the engine's temp output path is no longer written
    through.
    generate and upscale hand the diffusion engine an absolute
    path (output/<name>.tmp.png), which the engine opens with plain
    os.Create — following any link left there and writing the render outside
    the workspace. The tool then failed while reading the result back, so the
    out-of-workspace write had already happened silently. That name is now
    unlinked through the containment root before the path is handed out, so the
    engine always creates the file fresh.