Le prossime sfide della Nato. Cavo Dragone si insedia come nuovo presidente del Comitato militare
@Notizie dall'Italia e dal mondo
Il rinnovamento ai vertici della Nato Ăš ora completo. Dopo il recente insediamento di Mark Rutte come nuovo Segretario generale della Nato, lâammiraglio Giuseppe Cavo Dragone, giĂ capo di Stato maggiore della Difesa italiana, ha assunto ufficialmente la carica di presidente del Comitato
Bologna JS: 7 buoni motivi per usare Elm + live coding
meetup.com/bologna-js-meetup/eâŠ
Segnalato dal calendario eventi di Linux Italia e pubblicato sulla comunitĂ Lemmy meetup.com/bologna-js-meetup/eâŠ
Droni e innovazione. Lâambizioso progetto di Anduril nellâOhio
@Notizie dall'Italia e dal mondo
Lâappaltatore della difesa statunitense Anduril Industries si sta preparando a costruire un enorme impianto di produzione avanzata nellâOhio, aggiungendo quattromila posti di lavoro al fiorente settore high-tech della zona, come Ăš stato annunciato giovedĂŹ 16 gennaio dai funzionari statali. La start-up californiana impegnata settore
In unâiniziativa a Milano Sara Martelli parla di diritto allâIVG, dalla Lombardia allâEuropa
Sara Martelli, Consigliera Generale di Associazione Luca Coscioni per la libertĂ di ricerca scientifica APS, parla di diritto allâIVG, dalla Lombardia allâEuropa, allâinterno del Convegno sulla Legge 194 sullâinterruzione volontaria di gravidanza: attualitĂ e prospettive, organizzata da Sinistra Italiana Lombardia e Sinistra Italiana Milano.
Lâappuntamento Ăš per sabato 25 gennaio dalle ore 15.00 alle ore 19.00, in Corso di Porta Vittoria 43, a Milano.
L'articolo In unâiniziativa a Milano Sara Martelli parla di diritto allâIVG, dalla Lombardia allâEuropa proviene da Associazione Luca Coscioni.
La Cellula Coscioni di Monza aderisce alla manifestazione contro il nuovo codice della strada
La Cellula Coscioni di Monza aderisce alla manifestazione contro il nuovo Codice della Strada.
Lâappuntamento Ăš per sabato 18 gennaio alle ore 11.30 presso Piazza Roma.
L'articolo La Cellula Coscioni di Monza aderisce alla manifestazione contro il nuovo codice della strada proviene da Associazione Luca Coscioni.
Daniela Santanché andrà a processo per il caso Visibilia: rinviata a giudizio per falso in bilancio
@Politica interna, europea e internazionale
Daniela Santanché andrà a processo per il caso Visibilia La ministra del Turismo Daniela SantanchÚ Ú stata rinviata a giudizio dalla gup Anna Magelli per false comunicazioni sociali in merito al caso Visibilia, una delle società del gruppo da lei fondato.
RENASCENCE â Edna St. Vincent Millay
Sabato 25 gennaio ore 16.00
Nuovo appuntamento presso la Biblioteca Universitaria Alessandrina con Silvio Raffo, che reciterĂ le poesie della grande poetessa americana in Sala Bio-bibliografica.
A seguire tĂš.
Universale
Nel 2024 sono state 359 le persone viventi che si sono private di un loro organo (quasi sempre un rene o parte del fegato) per donarle a qualcun altro (grafico a sinistra). Negli ultimi dieci anni (nel 2015 le donazioni furono 325) questi eventi sono gradualmente aumentati.
Chi sono queste persone cosĂŹ straordinariamente generose? La tabella a destra, relativa alle donazioni di rene, ci dice che si tratta di consanguinei (madri, fratelli, sorelleâŠ) e non consanguinei (mogli, mariti, conoscentiâŠ).
CâĂš addirittura chi un proprio rene lo mette a disposizione di un centro trapianti perchĂ© lo utilizzi per salvare la vita a chiunque ne abbia bisogno (donazione âsamaritanaâ ).
LâattivitĂ di trapianto da donatore vivente in Italia Ăš regolata da una legge di oltre mezzo secolo fa (Legge 26 giugno 1967, n. 458 ).
Essa prevede che, in ogni caso, la donazione avvenga a titolo gratuito.
Come penso di poter immaginare, la decisione di donare un rene o un pezzo di fegato non deve essere banale, anche perchĂ© irreversibile. Se le cose dovessero andare male per il donatore, non sarebbe semplice ârestituirglieliâ.
Forse leggermente meno impegnativo potrebbe essere per una donna donare, sempre a titolo gratuito, a qualcuno che per varie ragioni non puĂČ procreare, la gioia di avere un figlio, sostenendone per lei/lui la gravidanza (maternitĂ surrogata).
E dopo nove mesi, tornare alla propria vita con la felicitĂ di avere dato felicitĂ .
Ma questo, anzichĂ© essere considerato un atto di generositĂ , da incentivare e normare Ăš ora un reato universale per il quale chiunque lo metta in atto, anche in paesi in cui ciĂČ sia permesso, viene punito con la reclusione da tre mesi a due anni e con la multa da 600.000 a un milione di euro.
Perché questa differenza?
Forse perchĂ© si teme che i casi di maternitĂ surrogata âcommercialeâ (dietro compenso) con la mercificazione del corpo delle gestanti sarebbero ben di piĂč dei casi di cessione di un organo.
Ma controllare che non vi siano pratiche commerciali sottostanti Ăš forse piĂč difficile per la maternitĂ surrogata che per la cessione di un rene?
Secondo alcune mie amiche, la differenza maggiore consisterebbe nel fatto che un rene, una volta donato Ăš fuori di te per sempre mentre un bimbo rimane nel ventre di una madre surrogata per nove mesi.
Durante i quali un profondo rapporto affettivo puĂČ instaurarsi. Dovrebbe quindi essere esteso il termine entro il quale la madre surrogata possa revocare il consenso al trasferimento del nascituro alla coppia infertile.
Secondo altre mie amiche, una legge che normi questa materia non potrebbe e non dovrebbe essere cosĂŹ rigida e puntuale ma rimanere sufficientemente elastica (legge cosiddetta âgentileâ) affinchĂ© il giudice eventualmente chiamato a valutare il caso, possa essere libero di decidere nel migliore interesse di tutte le parti (in primis del nascituro).
In ogni caso, con una legge, questo percorso sarebbe ben piĂč sicuro, controllato e regolamentato di come lo sia adesso.
LâAssociazione Luca Coscioni, insieme a esperti e altre associazioni, ha elaborato una proposta di legge, depositata lo scorso anno al Senato dal senatore Ivan Scalfarotto (Italia Viva) e alla Camera dei deputati dallâonorevole Riccardo Magi (+Europa), per regolamentare la gravidanza per altri solidale, contro ogni forma di sfruttamento e abuso.
Come per quasi tutte le questioni sui diritti civili (fine vita, aborto, disabilitĂ ed altri) non si dovrebbe prendere posizione solo su base ideologica ma dibattere con sufficiente serenitĂ tutti i risvolti di una pratica che, se da un lato puĂČ comportare un qualche rischio di mercificazione del corpo delle donne (ben inferiore tuttavia in termini numerici a quello della prostituzione di cui nessuno in questo governo si preoccupa), dallâaltro permetta di sostenere la solidarietĂ di una sorella, di unâamica, perfino di una sconosciuta.
Proprio come quando si dona un rene.
Altrimenti, di universale resta solo lâintolleranza.
L'articolo Universale proviene da Associazione Luca Coscioni.
olbotta reshared this.
Mercedes-Benz Head Unit security research report
Introduction
This report covers the research of the Mercedes-Benz Head Unit, which was made by our team. Mercedes-Benzâs latest Head Unit (infotainment system) is called Mercedes-Benz User Experience (MBUX). We performed analysis of the first generation MBUX.
MBUX was previously analysed by KeenLab. Their report is a good starting point for diving deep into the MBUX internals and understanding the architecture of the system.
In our research we performed detailed analysis of the first generation MBUX subsystems, which are overlooked in the KeenLab research: diagnostics (CAN, UDS, etc.), connections via USB and custom IPC.
This article would not have been possible without the amazing work of Radu Motspan, Kirill Nesterov, Mikhail Evdokimov, Polina Smirnova and Georgy Kiguradze, who conducted the research, discovered the vulnerabilities, and laid the groundwork for this report.
Special thanks to Mercedes-Benz Group AG for their professionalism and prompt handling of all the identified vulnerabilities.
Diagnostic software
To get a first look at the vehicle architecture, it is helpful to use diagnostic software (which is available to certified users only) to scan the Electronic Control Unit (ECU), identify its version, and test the softwareâs diagnostic functionality. There are several diagnostic tools which make it possible to connect to the vehicle, using various types of communication. In our research, we used a combination of diagnostic tools: a certain hardware interface and a corresponding software application to communicate with the vehicle through the hardware device. This setup allowed us to establish communication over DoIP (Diagnostic Over Internet Protocol):
Communication between diagnostic software and hardware
The TCP communication between the diagnostic tool and the diagnostic hardware device is performed over Ethernet using custom protocols (Protocol Data Unit, PDU). At the first stage, the diagnostic hardware device uses a custom ASCII-based protocol (CSD). It performs user authentication, version check, configuration setup, and provides the initial environment to process the upper layer protocol (PDU).
The upper layer protocol has a binary format. It is used to send Universal Diagnostic Services (UDS) messages, trigger DoIP communication, and so on. To analyze this protocol, we used a script written in LUA:
[pduparser.lua]. Using this script, UDS commands can be easily distinguished from the regular network traffic of communication between the diagnostic software and hardware:
We examined the diagnostic tool interface and decoded the traffic, which allowed us to find various UDS commands, such as for resetting the ECU, turning off the engine, and locking the doors.
Architecture
The architecture of MBUX is as follows:
The main parts of MBUX are:
- MMB (Multi Media Board) â the main part of the head unit (HU) which contains all the subsystems;
- BB (Base Board) â the part with chips for various network communications;
- CSB (Country Specific Board) â the extended part which communicates with the MMB through internal Ethernet;
- RH850 â the module designed to provide communication between low level buses.
Full information on the MBUX architecture can be found in the KeenLab research.
Test setups
For our research we used two test setups:
- a real car â Mercedes B180;
- a testbed â our own platform for hardware and software testing, which we designed for the purpose of this study.
Anti-Theft
While modeling the testbed, we needed to bypass the original anti-theft feature, because after the actual vehicle is started up, the head unit waits for authentication over the CAN bus. As mentioned in the KeenLab research, specific commands should be sent over CAN to wake up the system. We couldnât imitate this in our setup, so the head unit was entering anti-theft mode and the user couldnât communicate with it. Taking an empirical approach, we discovered that some CAN messages force the head unit to reset the anti-theft status. In fact, these messages trigger the anti-theft check. For example, when the head unit tries to turn off the display, the CAN message initiates the anti-theft check, leaving the head unit still accessible for a few seconds. For seamless and stable investigation, we created a script that continuously sent this message in a loop.
As a result, the head unit becomes accessible for a long time, switching between an authenticated state and anti-theft mode.
Firmware
The MMB runs on Linux, and its filesystems are located on the eMMC. We needed to extract the eMMC from the printed circuit board by unsoldering it. Inside, there are several partitions:
MMB files can also be downloaded from a diagnostic tool website that provides updates for specific hardware part numbers.
Unpack update
Nowadays multimedia systems in cars are generally updated over-the-air. Car dealerships are one exception, however, as they can perform offline software updates with the diagnostic tool.
Several outdated update files can still be found online. Update file types can be divided into the following groups by their names:
- files with \*ALL\*, containing *.CFF, *.SMR-F and *.bin files;
- files with \*CFF\*, containing only *.CFF files;
- files with \*SMR-F\*, containing only *.SMR-F files.
In general, *.bin files are containers with a custom file structure. They can be encoded with zlib or other methods.
*.SMR-F files are compressed and they also have a custom file structure. Besides metadata in plaintext, they also contain encrypted data, which the diagnostic tool uses its shared libraries to decrypt. After decryption, the resulting file contains the metadata and a container, just like the *.bin files.
*.CFF files contain the same payload content as the *.SMR-F files, but uncompressed. This format was used for earlier head unit generations.
Custom IPC
Inside the head unit, firmware services use custom IPC protocols for communication between their own threads, other services and other ECUs. There are three main widely used protocols:
- thriftme;
- MoCCA;
- GCF.
These protocols can be used at the same time; moreover, each service can use all of them simultaneously. Knowing the internals and API of these protocols, itâs easier to understand the workflow of the services.
thriftme
This RPC protocol is based on the open-source protocol Apache Thrift. Its main distinctive feature is that thriftme allows subscribers to be notified about particular events. The UNIX socket, TCP, UDP, SSL, and so on can be used as a transport for this protocol. The core functionality of this protocol is implemented in the library libthriftme.so.2.7.2.
The base class in the thriftme RPC is âthrift::TServiceBrokerâ, which isolates the communication with transports and call interfaces of services and clients. In thriftme, the service broker version is the instance of âthrift::lisa::CTLisaServiceBrokerâ, which inherits from âthrift::TServiceBrokerâ.
Services in thriftme are inherited from âthrift::lisa::TLisaServerBaseâ (which, in turn, inherits from âthrift::TServiceProcessorâ). Services are registered in the service broker through âthrift::TServiceProcessor::registerServiceâ. Transport used by clients is registered through âthrift::lisa::CTLisaServiceBroker::addServersâ (which wraps âthrift::TServiceBroker::addServerâ). Service interface functions are registered through âthrift::TServiceProcessor::tmRegisterCallbackâ. The handler is passed to this export function in arguments, and it is called while processing the client request. So the instance of the service in memory looks as follows:
The âinterface1â field contains functions which process the API of the service and their wrappers previously registered through âthrift::TServiceProcessor::tmRegisterCallbackâ. The âinterface2â field contains functions which are called to notify subscribers of this service.
Clients in thriftme are inherited from âthrift::lisa::TLisaClientBaseâ (which, in turn, inherits from âthrift::TClientâ). In fact, client instances are created by the service broker when the transport is successfully created. In our case, the service broker used the factory of a client, which is registered in the service broker through âthrift::TServiceBroker::tmRegCliâ. The factory helps clients register handlers for notification about events through âthrift::TClient::tmRegisterCallbackâ. The sample instance layout of a thriftme client is the following:
The âinterface1â field contains the handler is called after transport connection. Usually this handler is used to trigger a subscribe operation to receive event notifications. The âinterface2â field contains functions which send requests to the service API. The âinterface3â field contains functions which are called before initiating the ânotify subscribersâ operation of this service. Their wrappers were previously registered through âthrift::TClient::tmRegisterCallbackâ.
MoCCA
This RPC framework was developed by Harman and is based on the open-source DSI framework. The core functionality is implemented in the â/opt/sys/lib/libSysMoCCAFrameworkSharedSo.so.11â library. This framework is widely used for interthread communication.
During start-up, the service creates component instances through factory functions, for example âCHBApplicationBuilder::theCDiagnosisComponentCreatorâ. This instance inherits from the class âCHBComponentâ. The global variable âCHBComponentInfo::spMapâ contains the mapping between additional information about components and their names. The framework allows components to have their own aliases to access another components through âCHBComponentInfo::addComponentMappingâ: âCHBComponentInfo::addComponentMapping(&unk_581498, âFsActionHandlerâ, âFilesystemMainActionHandlerâ)â. Components can contain multiple services and clients and can communicate with their own services or other component services. The following is the architecture of components:
For communication the following events are used:
An example of a client object is âCTraceServiceClientBaseâ, which inherits from âCHBClientBaseâ and uses the proxy object âCTraceServiceProxyâ for transport. The proxy object inherits from âCHBProxyBaseâ and is created through the factory method âCTraceServiceProxy::findOrCreateInstanceâ. It tries to reuse already created proxy objects inside this component. The general layout of a client object is as follows:
The âIHBEventConsumerâ interface is used to process response events in âCTraceServiceClientBaseâ. The entry point for processing is the âprocessEventâ method. It uses two values to find a handler, which are called as follows:
- use the âstatusâ field to identify the response: standard response of a service, failed or invalid response;
- use the âinternalIDâ field to identify the API function.
On the service side in our example we used the âCTraceServiceStubâ class. Below is its layout:
The request event is processed in the âprocessEventâ method. It identifies the API function handler using the âinternalIDâ field and calls the identified handler.
GCF
GCF is a custom protocol, which is used for RPC. It allows the services to be registered in the router. The router handles the following messages from services and clients:
- Control message (âCTRLâ):
- âREGSâ â used to register service;
- âREGFâ â used to register RPC function of service;
- âEVNTâ â used by service to notify clients about event;
- âCALLâ â used by clients to call functionality of service;
- etc.
So during initialization, the services are registered in the router. The internal router table handles the flow of message processing. Finally, clients can send call requests to the router, which trigger predefined functions of registered services. The format of a call request is as follows:
CALL <ServiceName>:<Number> <ServiceCallName> <Params>
Internal network
As mentioned in the KeenLab research, there are some test points on the head unit, which are used by the CSB for connection to the MMB. We removed the default connection and connected the RJ45 cable to access the internal network of the head unit. This connection, labelled as
eth0, has some restrictions, as stated in the corresponding firewall rules in âfirewall_prd.policyâ:-A INPUT -s [IP]/32 -d [IP]/32 -i eth0 -m state âstate NEW -j ACCEPT
-A OUTPUT -s [IP]/32 -d [IP]/32 -o eth0 -j ACCEPT
-A OUTPUT -s [IP]/32 -d [IP]/32 -o eth0 -m state âstate NEW -j ACCEPT
Access to services on the MMB is established via an IP address, which is a default address for connecting the CSB to the MMB. The scan results of TCP ports on the MMB are as follows:
After connecting to the test point, we received a huge attack surface and access to the Diagnostic Log and Trace (DLT) subsystem, which is very helpful when testing and debugging:
DLT supports callback injection, which makes it possible to call specific handlers inside services. In the head unit this feature is widely used for product testing.
Identified vulnerabilities
The following findings were used to compromise the testbed. It is necessary for debugging the environment and searching for vulnerabilities in the subsystem that can be exploited in the real car.
CVE-2024-37600 (MoCCA)
The âservicebrokerâ service is a part of a DSI framework, which is used in MoCCA. This service is used to monitor services and clients.
It sets up HTTP servers using TCP ports. There are several POST commands, which can be processed. One of them is
disconnect, which takes a string as an argument.
The code in the
setup() function tries to parse this command with functions that provide unnecessarily excessive access to memory. According to the disassembled code, it performs read operations using sscanf on a stack buffer. As a result, there can be a stack buffer overflow:
In DLT logs we can identify crashes:
CVE-2023-34404 (GCF)
âMonitorServiceâ is a service which can be accessed over GCF protocol. This service is initialized and started in the âscpâ service. The latter, in turn, is a systemd service, which starts with the following configuration:
...
[Service]ExecStart=/opt/comm/swmp/wicome/bin/scp -f /var/opt/swmp/pss_config.cfg -s
wicome_config -r /opt/comm/swmp/wicome/bin -k VerboseLevel=5
ExecStop=/bin/kill $MAINPID
Environment=LD_LIBRARY_PATH=/opt/sys/lib:/opt/comm/swmp/wicome/lib
Environment=LOGNAME=root
EnvironmentFile=/opt/etc/lisa_env
Type=simple
Restart=on-failure
RestartSec=2
WatchdogSec=240
...
âMonitorServiceâ uses the following configuration file â/var/opt/swmp/pss_config.cfgâ to fine-tune its operation:
MonitorService.TimestampEnable = 1
MonitorService.ReceiveEnable = 1
MonitorService.MonitoringEnable = 1
MonitorService.MessageBufferSize = 1000
MonitorService.MessageBufferMemory = 512000
#1-file, 2-dlt, 3-both
MonitorService.LogMode = 2
#MonitorService.LogMode = 0
MonitorService.LogFileSize = -1
MonitorService.LogFileName = /tmp/wicom.log
MonitorService.LinefeedEnable = 1
MonitorService.HeaderEnable = 1
MonitorService.FileHeaderEnable = 1
#RH
MonitorService.Port = 2021
The âMonitorService.Portâ variable handles the number of the TCP port that will be used by the server. The âMonitorService.ReceiveEnableâ variable defines whether the server is able to handle requests from clients. Accordingly, âMonitorServiceâ, containing the head unit configuration, can receive GCF messages from the client and transfer them through the GCF router.
The list of registered services in the GCF router includes âNetworkingServiceâ. It has the following registered handlers:
The âNWS_PF_setMacAddrExceptionIPâ handler adds rules to the firewall policy. It uses the following arguments:
- macAddress â MAC address for the rule;
- direction â defines the direction of rule: inbound or outbound;
- fate â defines the type of rule: allow or deny;
- command â the action to be performed: add the rule or remove it from the policy.
The control flow for processing this request is located in the following binaries: âMonitorServiceâ, âlibwicome_monitorservice.soâ and âlibwicode_gcf_core.soâ. The call stack is the following:
sub_EE6E8 (NWS_PF_setMacAddrExceptionIP)
sub_E9D0C (sNWS_PF_setMacAddrExceptionIP)
sub_F275C (CGCFStub_PF::setMacAddrExceptionIP)
sub_F7AF4 (CGCFStub_PF::_int_setMacAddrExceptionIP)
snprintf
sub_F7EB4 (systemExec)
system
The
sub_F7AF4 function executes the system() call with arguments to the iptables binary:/* ... */
if ( v10 )
{
v11 = (const char *)PAL::CString::raw(direction);
v12 = (const char *)PAL::CString::raw(mac);
if ( snprintf(v22, 0xFFuLL, "iptables -%s %s -m mac --mac-source %s -j
%s ", (const char *)&v21, v11, v12, v20) < 0 )
{
/* ... */
v18 = 0;
}
if ( v18 )
{
if ( (unsigned __int8)systemExec(a1, v22) != 1 )
{
/* ... */
return 0;
}
}
}
/* ... */
When processing the request, the MAC address is neither checked nor restricted. That means an attacker can perform command injection during the
iptables command execution.
Privilege escalation
The head unit uses the outdated system Polkit, which is vulnerable to CVE-2021-4034. This is a local privilege escalation vulnerability that can result in unprivileged users gaining administrative rights on the target machine. There are a lot of publicly available exploits targeting it, enabling the execution of arbitrary commands as the user âphoneâ of group âcommâ.
After successfully exploiting this vulnerability, an attacker can run commands to modify network interfaces, mount filesystems, and perform other privileged activities. Although some restrictions are imposed, a potential attacker can access the systemd command to further escalate their privileges.
The partition with root filesystem was mounted as a read-only filesystem. As mentioned in the KeenLab research, the head unit doesnât have any enabled disk integrity protection features. That means the filesystem can be remounted with read and write rights, and the bash scripts that are run during start-up can be modified.
USB
USB is the most popular attack vector in terms of physical access. The head unit is built on a microservice architecture, where each service is rather isolated and communicates through an API. Each microservice of the head unit provides some internal functionality and one or more thriftme services, through which other microservices can communicate with it. This fact enables the emulation of a USB subsystem using QEMU user-mode version.
Preparation
The âDeviceManagerâ service is responsible for handling USB events: adding, removing, mounting or updating. Other services can subscribe to âDeviceManagerâ and use notify callbacks to perform actions when USB events occur. For example, such a service can start searching for specific files when the USB filesystem is mounted.
The âGDVariantCodingServiceâ service is a frontend of variant coding. Other services use it to identify the parameters of the head unit and car.
Both of these services should be emulated to run a self-hosted USB subsystem. This task can be performed by emulating corresponding thriftme services. So, for successful emulation, we should perform the following actions:
- Prepare the network for IP addresses used by services.
- The services âDeviceManagerâ and âGDVariantCodingServiceâ use UNIX sockets for transport. To emulate them, itâs easier to use TCP sockets so that we arenât dependent on the filesystem. Perform forwarding using socat.
- Run the emulated thriftme services. In our case, we created devicemgr.py, vehicle.py and varcoding.py. In devicemgr.py, the mounting of the USB filesystem is emulated to the path â/opt/sys/bin/aaaaaâ.
- Use QEMU user emulation in a âtransparentâ fashion.
- In the chroot environment prepare folders and devices.
The USB subsystem is emulated.
Emulation of data export, import and tracing
The head unit has the functionality to import or export user profile files (seat position, favorite radio stations, etc.) to or from a USB storage. This task is handled by the âUserDataâ service â to be more precisely, by the thriftme service âCSystemProfileServiceImplâ.
The user profiles backup looks like a folder with the following directory structure:
.
âââ MyMercedesBackup
âââ shared
âââ system
â âââ rse.ud2
â âââ system.ud2
âââ udxprofiles
âââ profile0
â âââ commuterroute.ud2
â âââ emotions.ud2
â âââ navidata.ud2
â âââ pud.ud2
â âââ uapreds.ud2
â âââ vt_ab.ud2
â âââ vt_tuner.ud2
âââ profileindex.xml
Some of the files are generated by âUserDataâ itself, but most of them are generated and processed by other services, like âCAPServerâ. The most important component of data import and export processes is the thriftme service âUserDataExchangeServiceâ in âUserDataâ. Services subscribe for notifications about data import and export in UserDataExchangeService.
âCSystemProfileServiceImplâ performs the following workflow when exporting the profiles backup:
- Run timer for 100 seconds.
- Notify client services through âUserDataExchangeServiceâ using events that request data export. Such events contain the information about the exported data.
- Services call API functions that verify the success of the data export. Their arguments are a data key and a path to the file.
- âUserDataâ collects all received files, encodes them and stores them in the mounted USB filesystem.
The scheme is similar for the profile backup import:
- âUserDataâ copies files from the USB to the local system and decodes them.
- It notifies client services through events that request data import.
- If the client service is handling the data key, it imports the data.
- Services call API functions that verify the success of the data import.
The backup contains XML files and binary files. Binary files are considered more useful for vulnerability hunting:
Data key | Filename in backup | Content |
PUD_COMMUTER | commuterroute.ud2 | ISO-8859 text, with no line terminators |
PUD_UAPREDICTIONSDATA | uapreds.ud2 | SQLite 3.x database |
PUD_VT_TUNER | vt_ab.ud2 | Proprietary binary data |
PUD_VT_ADDRESSBOOK | vt_tuner.ud2 | Proprietary binary data |
When triggering backup import (restore) and export (backup), the following scripts were created:
triggerRestore.py and triggerBackup.py.
Almost all the services of the head unit support the trace system
HBTracePersistence, which allows tracing to be turned on and off for a specific module or function.
The âhbtcâ file contains the tracing system configuration and determines the function tracing method. An example of the âhbtcâ file is provided below:
HBTracePersistence 1.0.0
imp 00 08
imp_userdata_private_CSystemProfileManager ff 08
imp_userdata_private_CUserDataVehicleInformationAdapter ff 08
imp_userdata_private_CUserDataIF2Impl ff 08
imp_common_streamhelper_StreamHelper ff 08
imp_userdata_private_CUDXStructure ff 08
As mentioned previously, files in the backup are encoded â the algorithm is proprietary. The âCPUserDataEncodingHandlerâ class handles it. The script
ud2codec.py was prepared to be able to encode and decode files.
Identified vulnerabilities
The following vulnerabilities were tested on a real car.
CVE-2024-37601
The process of decoding files with the
*.ud2 extension contains the heap buffer overflow vulnerability.
âUserDataâ represents encoded data through the âCHBStringâ object, which processes data as a UTF string. Then the UD2-specific decoding characters should be deleted, and their indexes should remain constant. For this task we used the âCHBString::const_iterator::incrementStepsâ function to get the pointer on the desired character and âCHBString::removeâ to remove the character from the string. âCHBString::const_iterator::incrementStepsâ incorrectly processes the character with code
0xe7: it will be decoded as 1 byte. But according to the table âUTF8LookUpTableâ, which is used in âCHBString::removeâ and âCHBString::CHBStringâ, the character with code 0xe7 is encoded with 3 bytes.
As a result, when performing the âCHBString::removeâ function, the calculated pointer can be outside of the allocated buffer after UTF decoding with âUTF8LookUpTableâ. The memmove function will be called with the third argument (size of buffer) equal to -1.
Without further exploitation by the attacker, this vulnerability triggers the crash of the âUserDataâ service during data import. This puts the system into a frozen state, which can be fixed only through an ECU hard reset.
CVE-2023-34402
As mentioned previously, the
vt_ab.ud2 file was decoded as vt_ab.xml during the profile backup export for vulnerability searching. This fileâs contents resemble a binary and it is processed by the text-to-speech service.
The
vt_ab.xml file contains another file, describing which service will be dropped during processing. For this task it contains the name of the file to drop. This action is performed in the âUserDataExchangeServiceClient::unpackVoiceTagArchiveOptimizedâ function:
- get the content of the file describing what to drop;
- get the name of the file to drop and perform the dropping.
Because the checks are not being performed, an attacker can control the path which is used to write controllable content. As a result, the attacker can access arbitrary file writing with the same rights the service has.
CVE-2023-34399
After decoding, the
uapreds.ud2 file in the profile folder âMyMercedesBackup/udxprofiles/profile0â takes the form of uapreds.db. The system recognizes it as an SQLite database, which is parsed in the service that uses machine learning for creating efficient routes. The decoded file is processed in âcapthrift::CapServer::requestImportBinaryDataâ, then it calls âcapthrift::CapServer::setProfileâ to load the database.
All values in the SQLite database tables are serialized as an archive to match the boost library. The format of this archive can be either XML or plain text. We used the plain text mode. Here is an example of an archive in the
learning_kernel row of the kvpair_table table:22 serialization::archive 11 0 2 0 1 0 0 1 0 1 0 0 0 0 1
0.00000000000000000e+00 0 0 0 0 0 0 0 0 1.00000000000000000e+00
...
The last publicly available version of the boost library, 1.81 (at the time of research), contains the integer overflow vulnerability. This vulnerability can be exploited when processing an entity pointer:
In (1), the value
cid was obtained from the attacker-controllable data. After that, in (2), this value is used as an array index to get the cobject_id object. (3.1) and (3.2) introduce restrictions for cid:
- whether the value of cid equals -1;
- whether the value of cid is greater than the size of the cobject_id_vector array.
These restrictions can be bypassed using the assigned value of
cid. This is possible because the definition of class_id_type is assigned an integer:
So if we assign the ââ3â value to
cid, then the pointer co.bpis_ptr (2) will be corrupted.
Lastly, the triggered vulnerability in the debugger looks as follows:
Thread 63 hit Breakpoint 2, 0x0000004002f3cea4 in ?? ()
# cid value
(gdb) i r x2
x2 0xfffffffffffffffd -3
# cobject_id_vector size
(gdb) x/1hx $x20 + 0x58
0x405c01b278: 0x000e
# cobject_id_vector pointer
(gdb) x/1gx $x20 + 0x60
0x405c01b280: 0x000000405c017f00
# 1 element in the cobject_id_vector
(gdb) x/3gx *(void **)($x20 + 0x60) + 0 * 0x18
0x405c017f00: 0x000000400147f1c8 0x0000000000000000
0x405c017f10: 0x0000010000000002
# refferenced element
(gdb) x/3gx *(void **)($x20 + 0x60) + -3 * 0x18
0x405c017eb8: 0x5f72696170766b5f 0x00315f656c626174
0x405c017ec8: 0x0000000000000035
(gdb) c
Continuing.
Thread 63 received signal SIGSEGV, Segmentation fault.
Exploitation notes
At the first stage, it is assumed that the image base address is fixed and the vulnerability code is loaded to a specific address in the memory. We analyzed the vulnerability code and checked exactly how all the pointers are dereferenced and where the virtual call is performed. Here are the steps:
- By controlling the id, we can move the pointer (by moving it to negative offsets relative to the beginning of the array in the heap);
- By moving the pointer, we will get to an address where another address containing an object for bis_ptr is located;
- The address for bis_ptr should contain the address of the virtual call table.
Controlling only the offset to the corresponding object, we need to get to the address in the heap which contains a pointer to the pointer with the associated virtual table.
We can implement such a scenario using a spray of DDL entries inside the SQLite database that we can control. For such a spray, we need to create a lot of tables with long names. As a result, structures of a proper format will appear in the heap and a negative index will allow us to get to these structures.
Below is an example of such a SQLite-based file (the entry in
sqlite_schema is a table creation request):
So we can create a lot of tables with long names, which gives us a heap spraying primitive.
Using the heap spraying technique, an attacker can fully control the execution:
To import the
uapreds.db database to the âCAPServerâ service, we need to copy it to the serviceâs working directory. Then âCAPServerâ tries to load the database from its own working directory. As a result, if an attacker managed to import the database which triggers the vulnerability in the head unit, then each start-up of âCAPServerâ will try to load it and crash. The âCAPServerâ service gets started by âsystemdâ and is configured as follows:
[Service]ExecStart=/opt/prediction/bin/CAPServer /var/opt/prediction/
ExecStop=/bin/kill $MAINPID
Environment=LD_LIBRARY_PATH=/opt/sys/lib
EnvironmentFile=/opt/etc/lisa_env
Type=notify
WatchdogSec=30
Restart=on-failure
RestartSec=2
This means that after the crash, âsystemdâ will try to restart âCAPServerâ. This triggers an infinite loop of service crashes, which can be helpful when trying to brute force the image base address.
Inside SQLite database, there is a pragma section which contains SQL commands to create tables. This feature can be used to create controllable data out of tables in the database based on the current time. The following script can be used to automate the process of creating an SQLite database, which might trigger this vulnerability according to the current time:
#!/bin/bash
DBPATH=test.db
STOP_TIME=$(date --date='-2 hours +10 seconds' +"%H:%M:%S")
echo "Trigger until < $STOP_TIME, clean after >= $STOP_TIME";
poc_value="CRASH the system"
clean_value="system work"
check() {
sqlite3 $DBPATH << EOF
SELECT strftime ('Time of database: %H:%M:%S', 'now');
select * from target_table;
.exit
EOF
}
rm $DBPATH
sqlite3 $DBPATH << EOF
CREATE VIEW target_table AS SELECT "key" AS varkey, "$poc_value" AS varval
WHERE TIME() < "$STOP_TIME" UNION SELECT "key" AS varkey, "$clean_value" AS
varval WHERE TIME() >= "$STOP_TIME";
.exit
EOF
check
sleep 10
check
As a result, an attacker can run image base address brute forcing for some time.
Attack vectors
During our research, we managed to compromise the testbed of the head unit and found several vulnerabilities for a real car via physical access.
The testbed compromise has three potential use cases:
- a criminal wanting to disable the anti-theft protection in a stolen head unit;
- a car owner tuning and unlocking prepaid services on their vehicle;
- a pentester conducting research to find new vulnerabilities.
In the case of a real car, the identified vulnerabilities can be triggered through an exposed USB service that is available to the general user.
Vulnerability list
During the process of vulnerability disclosure with the vendor, the following CVE IDs were assigned:
CVE-2024-37602
CVE-2024-37600
CVE-2024-37603
CVE-2024-37601
CVE-2023-34406
CVE-2023-34397
CVE-2023-34398
CVE-2023-34399
CVE-2023-34400
CVE-2023-34401
CVE-2023-34402
CVE-2023-34403
CVE-2023-34404
The CVE details will be published here: github.com/klsecservices/AdvisâŠ.
securelist.com/mercedes-benz-hâŠ
Modding a Toddlerâs Ride-On For More Grunt
Kids love their Power Wheels and other ride-on electric cars. Indeed, [Ashwin]âs son was digging his little ATV, but soon found that some care was needed on the pedal. It had no proper throttle control, instead turning the motor hard on or off and scaring the poor kid in the process. The solution? A bit of an upgrade from some off-the-shelf electronics.
Inspiration came fromâwhere elseâthe /r/PowerWheelsMods subreddit. The main tweak was to install an off-the-shelf soft-start circuit to stop the motor banging hard on when the accelerator was pushed. Instead, when the accelerator is pushed, the module gradually ramps up its PWM output to the motor to smooth out the acceleration curve. This would make the ATV much easier to ride.
Implementing this off-the-shelf solution did take some doing, though. The first attempt ended with a short circuit and a blown fuse. However, [Ashwin] wasnât deterredâa trip back online to do some research did the trick. With some careful wiring that took into account the crude forward and reverse circuit, [Ashwin] had a much smoother running ride-on for his son.
While most of the mods we see for these little ride-ons are all about power and speed, we do appreciate the occasional attempt to make the things a bit safer for younger drivers. If youâre brewing up your own fancy kidmobile at homeâdonât hesitate to let us know!
Basta Privilege Escalation! Microsoft Potenzia Windows 11 contro le LPE
Microsoft ha ampliato i test della protezione dellâamministratore in Windows 11 consentendo agli utenti di Windows Insider di abilitare la funzionalitĂ tramite le Impostazioni di sicurezza di Windows.
Introdotta per la prima volta in ottobre per il canale Canary, la Protezione amministratore utilizza un meccanismo nascosto per lâelevazione temporanea dei diritti e le richieste di autenticazione tramite Windows Hello, consentendo lâaccesso ai diritti amministrativi solo quando necessario. La protezione ha lo scopo di impedire lâaccesso non autorizzato alle risorse critiche del sistema.
Quando questa funzionalitĂ Ăš abilitata, gli amministratori che hanno effettuato lâaccesso dispongono dei diritti utente standard e devono autenticarsi utilizzando Windows Hello (PIN o dati biometrici) quando installano nuove app o apportano modifiche al registro. Le richieste di autenticazione sono piĂč difficili da aggirare rispetto al meccanismo esistente di controllo dellâaccount utente (UAC), rendendo piĂč difficile la penetrazione di malware e aggressori.
Esempio di finestra delle credenziali con una nuova area colorata (piĂč grande) sopra la descrizione dellâapplicazione ( Microsoft)
La funzionalitĂ Ăš disabilitata per impostazione predefinita e puĂČ essere abilitata dagli amministratori tramite criteri di gruppo o strumenti di gestione come Intune.
Inoltre, ora gli utenti possono abilitarlo autonomamente tramite le impostazioni di sicurezza di Windows nella sezione Aggiornamento e sicurezza â Sicurezza di Windows â Protezione dellâaccount. La modifica richiede il riavvio del sistema.
Questa funzionalitĂ Ăš disponibile per i Windows Insider nel canale Canarie che hanno installato Windows 11 Insider Preview Build 27774. Microsoft prevede inoltre di introdurre presto una nuova funzionalitĂ denominata Ripristino rapido sistema, che consente agli amministratori di risolvere in remoto i problemi che rendono inutilizzabili i dispositivi dopo gli aggiornamenti di Windows.
La nuova funzionalitĂ , come molte altre opzioni di sicurezza, funziona come parte della Secure Future Initiative.
L'articolo Basta Privilege Escalation! Microsoft Potenzia Windows 11 contro le LPE proviene da il blog della sicurezza informatica.
Firmato lâaccordo. Ma il Likud fa sapere che non significa la fine della guerra
@Notizie dall'Italia e dal mondo
Il ministro della difesa Israel Katz ha dichiarato che in risposta alla liberazione israeliana dei prigionieri politici palestinesi, libererĂ i coloni in israeliani in detenzione amministrativa
L'articolo Firmato lâaccordo. Ma il Likud fa sapere che
LâAI alla prova della guerra in Cina. Ecco lâultimo progetto del Dipartimento della Difesa
@Notizie dall'Italia e dal mondo
LâIndo-Pacific Command (Indopacom) degli Stati Uniti, in collaborazione con il Pentagono e alcuni attori privati, ha lanciato un nuovo progetto per esplorare lâuso dellâintelligenza artificiale generativa nelle operazioni militari. Nei prossimi novanta giorni gli sforzi si concentreranno su questioni
Bovaer, lâadditivo chimico âpericolosoâ che pericoloso non Ăš
Ci Ăš stato segnalato un post che circola su svariati canali Telegram, qui nella versione sul canale di Ugo Fuoco: AVVELENANO IL CIBO. L'ATTACCO ALLA SALUTE ATTRAVERSO L'ADDITIVO CHIMICO "BOAVER" CHE VERRĂ INTRODOTTO ORA ANCHE IN EUROPA.maicolengel butac (Butac â Bufale Un Tanto Al Chilo)
La nuova sfida spaziale Ăš la Navigation warfare. Le soluzioni di Northrop Grumman Italia
@Notizie dall'Italia e dal mondo
Nellâattuale scenario globale, il dominio spaziale si configura sempre piĂč come un elemento cardine delle strategie di difesa e sicurezza. In particolare, lo sviluppo che ha interessato il settore dei satelliti in orbita bassa (Leo) ha rivoluzionato il modo di operare dallo e nello
Etiopia, milioni di sfollati in Tigray continuano a soffrire dopo 4 anni
L'articolo proviene dal blog di @Davide Tommasin áłáȘá” ed Ăš stato ricondiviso sulla comunitĂ Lemmy @Notizie dall'Italia e dal mondo
Ashebu Haguzum, padre di quattro figli, ha trascorso quattro anni nel campo sfollati di May Wenyi a #Mekelle dopo essere fuggito dalla guerra nel 2020. Riflettendo
Ministero dell'Istruzione
Dal 21 gennaio partono le #IscrizioniOnline! Se avete dubbi nella scelta della scuola, sulla piattaforma #Unica Ăš possibile consultare la pagina dedicata per confrontare gli Istituti e scegliere il percorso di studi piĂč adatto.Telegram
Buongiorno, tra i dati che fornite per le scuole superiori, dove sono disponibili cioĂš oltre 1300 in Italia, fornite anche le informazioni , sicuramente interessanti alle famiglie e agli scolari, dei risultati all' universitĂ e nel trovare lavoro per i diplomati dai singoli istituti? Intendo i dati che derivano dal progetto Eduscopio (e non solo)?
m.eduscopio.it/
CIRAS: tracciamento degli incidenti informatici in Europa
@Informatica (Italy e non Italy đ)
LâUnione Europea ha uno strumento di analisi degli incidenti informatici denominato CIRAS. Diamo uno sguardo a questo strumento non sempre conosciuto. Che cosa Ăš il CIRAS Il CIRAS (Cybersecurity Incident [âŠ]
L'articolo CIRAS: tracciamento degli incidenti informatici in Europa proviene da
Packing Even More Features Into a Classic Radio
When it comes to hacking niches, breathing new life into vintage devices is always an exciting challenge. [t0mg]âs recent project exemplifies this with his 1978 Sony FX-300 âJackalâ radio. Heâd already upgraded the radio in 2021 and turned it into a feature-packed marvel, but thereâs always room for improvement.
[t0mg]âs initial 2021 build had its quirks: noisy sound, a subpar display, and a non-functional radio module. Determined to enhance these aspects, he sourced an IPS version of the original 3.2âł ILI9431 LCD, significantly improving viewing angles. To tackle the audio issues, he integrated an M5Stack Atom microcontroller, utilizing its Bluetooth A2DP capabilities to deliver cleaner digital sound via I2S to the Teensy audio board. The Teensy itself got a complete wire overhaul just for the sake of good craftmanship.
The new setup also enabled the display of song metadata. Additionally, [t0mg] incorporated a dedicated Arduino Nano clone to manage inputs, streamlining the overall design. The revamped âJackalâ now boasts a bunch of impressive features such as displaying RDS data for FM stations, voice recording, and an NFC reader for personalized playlists.
If youâre into radio makeovers, look into this post for a real golden oldie, or start out with the basics. For [t0mg]âs earlier improved version of this Jackal, read our article on it here.
youtube.com/embed/Jtwbudb9z_4?âŠ
TikTok should win its case â or we could all lose free speech online
With the TikTok argument headed for the Supreme Court on Jan. 10, itâs become increasingly common to read about the so-called âeasyâ path for affirming the TikTok ban: Treat it like a radio station, where foreign ownership has long been prohibited.
Freedom of the Press Foundation (FPF) Senior Advisor for Advocacy Caitlin Vogus explained in Tech Policy Press why that argument is wrong, as both a legal matter and a policy one.
As Vogus explains:
âThe lower First Amendment protections for radio and broadcast television donât just allow the government to prohibit foreign ownership. They also give the government significant control over the speech allowed on those mediums, control that isnât currently allowed online or in the real world. Thatâs why the FCC can punish a radio station for playing George Carlinâs âSeven Dirty Wordsâ but not HBO, or require âequal timeâ for political candidates on broadcast TV stations when it could never require the same in the pages of a newspaper.âIf we give the government a freer hand to regulate the internet the way they do radio and broadcast TV, it wonât be long before officials are trying to ban speech that embarrasses or criticizes them and stamp out content they disagree with.â
Read the Tech Policy Press article here.
RFanciola reshared this.
David Lynch
David Lynch per la mia generazione Ăš stato indispensabile, per noi giovani un po' provinciali negli anni novanta, che ci avvicinavamo alla musica al cinema all'arte e che probabilmente avevamo un po' piĂč di curiositĂ rispetto a quello che avevamo intorno.
Il mio David Lynch inizia con Dune metĂ degli anni 80: ricordo che diedero il film alla TV.
Mio padre aveva letto il libro e questo film fu strano per me che a dodici anni avevo un approccio alla fantascienza un po' giustamente ingenuo. #Cinema
David Lynch
David Lynch - David Lynch per la mia generazione Ăš stato indispensabile, per noi giovani un po' provinciali negli anni novanta, che ci avvicinavamo alla musica al cinema all'arte e che probabilmente avevamo un po' piĂč di curiositĂ rispetto a quello câŠGianluca Perata (In Your Eyes ezine)
reshared this
«Mi sta sulle balle 'sta cosa che ultimamente si parla troppo di ideologie e poco di idee».
Rights orgs demand Biden pardon Assange
FOR IMMEDIATE RELEASE:
President Joe Biden was repeatedly warned that prosecuting WikiLeaks publisher Julian Assange under the Espionage Act posed an existential threat to investigative reporting by criminalizing routine journalistic conduct that the First Amendment has long protected.
He ignored those warnings, perhaps believing his administration would remain in the White House and have some say over how prosecutors exercise their new powers. That was a serious mistake. Now, a coalition of press freedom and civil liberties organizations are urging him to use his pardon power to lessen the damage to press freedom caused by Assangeâs 2024 conviction pursuant to a plea deal.
As Freedom of the Press Foundation (FPF) Director of Advocacy Seth Stern explained:
âJulian Assangeâs case normalized the criminalization of work national security journalists do every day â talking to sources, obtaining documents from them, and publishing those documents. It gives future authoritarians at home and abroad the perfect âwhataboutismâ to deflect from their own repressive actions, including imprisoning journalists on bogus espionage charges. A pardon wonât undo the harm the case has done to the free press or the chilling effect on journalists who now know their work can land them behind bars at the whim of the Department of Justice. But it will help reduce the damage. If Biden wants to be remembered as the friend of press freedom he claims to be, he needs to put the future of the First Amendment above his personal feelings about Assange and issue this pardon before he leaves office.â
Rebecca Vincent, director of Campaigns for Reporters Without Borders (RSF) added:
âWe remain hugely relieved that Julian Assange is now free and in recovery following his 14-year plight, but the terms of the plea deal leave the door open to future threats to journalism. No one should ever again face such treatment for publishing information in the public interest. In these final days of his administration, we urge President Biden to set the record straight and ensure his legacy is one of protecting press freedom by pardoning Assange. The message must be made loud and clear that the U.S. government means what it says when it comes to press freedom, and that the Espionage Act will never again be misused to target a publisher, journalist, or journalistic source.â
Chip Gibbons, policy director at Defending Rights & Dissent, said:
âThe U.S. governmentâs pursuit of WikiLeaks publisher Julian Assange remains one of the most abusive attacks on press freedom in recent memory. Everything from illegal covert actions to criminal prosecutions were deployed to prevent WikiLeaks from publishing, destroy its founder, and send a chilling message to silence independent media broadly. While we are grateful this shameful saga has ended, the plea deal obtained by the government states that a journalist receiving information from a source and publishing it constitutes a criminal conspiracy under the Espionage Act. There may be no legal precedent, but right now the Department of Justice has received the message it can get away prosecuting pure journalism under the Espionage Act. No journalist is safe. President Biden must stand for press freedom and grant Mr. Assange a full, unconditional pardon.â
You can read the coalitionâs letter here or below.
Please contact us if you would like further comment.
freedom.press/static/pdf.js/weâŠ
Benedikt reshared this.
A Torino via alla campagna di tesseramento 2025 di Articolo 21
@Giornalismo e disordine informativo
articolo21.org/2025/01/a-torinâŠ
Al via a Torino, nella sede della libreria valdese Claudiana, la campagna del tesseramento di Articolo 21 nel segno della Costituzione, del pensiero critico, della libertĂ di
MA Ă MORTO DAVID LYNCH E NESSUNO MI DICE NIENTEEE?
Ciao David, insegna agli angeli a raccontare storie che nessuno capisce, pazzoide.
like this
FLUG - Corso di LibreOffice alla biblioteca di Scandicci
firenze.linux.it/2025/01/corsoâŠ
Segnalato da Linux Italia e pubblicato sulla comunitĂ Lemmy @GNU/Linux Italia
Il GOLEM, insieme allâassociazione LibreItalia, ha organizzato un corso gratuito su LibreOffice alla biblioteca
like this
FLUG - Assemblea annuale dei soci del GOLEM
firenze.linux.it/2025/01/assemâŠ
Segnalato da Linux Italia e pubblicato sulla comunitĂ Lemmy @GNU/Linux Italia
MartedĂŹ 21 gennaio 2025 alle 21:30 si terrĂ lâassemblea annuale dei soci del GOLEM, presso la loro Officina Informatica. Ordine del giorno:
Gcap, da Londra la ricetta per non mancare lâappuntamento del 2035
@Notizie dall'Italia e dal mondo
Con le maggiori potenze impegnate in una corsa al cardiopalma per sviluppare e schierare assetti di sesta generazione, il Gcap si conferma come uno dei programmi militari di maggiore rilevanza attualmente in sviluppo in Europa. A maggior ragione, con la sospensione temporanea dellâNgad statunitense e i dubbi
La mia mezza fissa (abbastanza inspiegabile) del momento Ăš la Formula 1.
Non smetto di meravigliarmi di che faccini imberbi, da pubescenti abbiano cosĂŹ tanti piloti! Ho beccato un anno di "cambio della guardia" o oggi i piloti arrivano alla F1 sempre piĂč giovani?
Mi ricordo che quand'ero adolescente negli anni '90 i piloti erano uomini, almeno quelli piĂč riconoscibili. Schumacher era uno sbarbino quando Ăš arrivato alla F1, ma aveva comunque giĂ ... 23 anni! 23 anni al debutto in Benetton, ecco (credo?).
Ho letto che la stagione 2025 avrĂ due debuttanti di 18 e 19 anni. Come cavolo Ăš possibile, assumendo che piĂč o meno oggi come allora a correre sui kart si cominci sempre alla stessa etĂ ?
EuropĂ€ische Regeln fĂŒr KI: Wo die Zivilgesellschaft nachjustieren möchte
netzpolitik.org/2025/europaeisâŠ
Due vite, un unico destino. âEmilia PerĂ©zâ
@Giornalismo e disordine informativo
articolo21.org/2025/01/due-vitâŠ
di Jacques Audiard, Usa, Mex, Bel, Fra, 2024. Con Zoe Saldana, Karla Sofia Gascon, Selena Gomez, Adrian Paz A metĂ strada tra melodramma, musical e noir, con echi cronenberghiani (âA history of violenceâ) e vaghi riferimenti ad Almodovar e Peckinpah, il
Le giovani vite non valgono i profitti delle Big Tech - Ctrl + Alt + Reclaim Ăš un nuovo movimento giovanile indipendente sostenuto da People vs Big Tech .
Un piccolo gruppo di CEO dietro gran parte della nostra esperienza online continua a mettere a rischio le nostre vite, dall'aumento dei tassi di suicidio tra gli adolescenti all'amplificazione della violenza, online e offline. Gli algoritmi tossici delle Big Tech stanno prosciugando la nostra autostima, il nostro tempo e la nostra energia, trasformando le nostre vite in dati da cui trarre profitto. Stanno guadagnando miliardi con razzismo , misoginia e politica di estrema destra sulle loro piattaforme.
reshared this
Multiple experts drew comparisons between Meta's recent changes around immigration and what happened in Myanmar in 2017, where Facebook contributed to a genocide by allowing the spread of hate.
Multiple experts drew comparisons between Metax27;s recent changes around immigration and what happened in Myanmar in 2017, where Facebook contributed to a genocide by allowing the spread of hate.#News
Meta Is Laying the Narrative Groundwork for Trumpâs Mass Deportations
Multiple experts drew comparisons between Meta's recent changes around immigration and what happened in Myanmar in 2017, where Facebook contributed to a genocide by allowing the spread of hate.Joseph Cox (404 Media)
In provincia di Vicenza un evento sui diritti alla fine della vita
La Cellula Coscioni Vicenza-Padova organizza un evento dal titolo: Vivere la malattia con dignitĂ â Poter scegliere in piena libertĂ .
Lâappuntamento Ăš per martedĂŹ 4 febbraio alle ore 20.30, presso la Sala Civica di Corte delle Filande, a Montecchio Maggiore (VI). Lâingresso Ăš libero e gratuito.
L'articolo In provincia di Vicenza un evento sui diritti alla fine della vita proviene da Associazione Luca Coscioni.
Luigi Recupero reshared this.
Elena Brescacin
in reply to Lista Referendum e Democrazia • • •